How to use test_fail_msg method in assertpy

Best Python code snippet using assertpy_python

test_server.py

Source: test_server.py Github

copy

Full Screen

1"""Tests for server module."""2from unittest import TestCase3from unittest.mock import patch4import numpy as np5from SpaceBattle.server.exceptions import NotMovableError, NotRotableError6from SpaceBattle.server.commands import MoveCommand, RotateCommand7class FakeMovableClass:8 """Fake movable class."""9 def __init__(self, position: np.ndarray, move_velocity: np.ndarray) -> None:10 """11 Init variabels.12 position - object's position on the map13 move_velocity - movement instantaneous speed14 """15 self._move_velocity: np.ndarray = move_velocity16 self._position: np.ndarray = position17 super().__init__()18 def get_position(self) -> np.ndarray:19 """Get current object's position on the map."""20 return self._position21 def set_position(self, position: np.ndarray) -> None:22 """Set new object's position."""23 self._position = position24 def get_movement_velocity(self) -> np.ndarray:25 """Get object's movement velocity."""26 return self._move_velocity27class FakeRotableClass:28 """Fake rotable class."""29 def __init__(self, direction: int, rotate_velocity: int) -> None:30 """31 Init variabels.32 direction - corrent object's direction in degrees33 rotate_velocity - object's rotate velocity in degrees34 """35 self._direction = direction36 self._rotate_velocity = rotate_velocity37 super().__init__()38 def get_direction(self) -> int:39 """Retrun object's current direction in degrees range from -360 to +360."""40 return self._direction41 def get_rotation_velocity(self) -> int:42 """Retrun object rotation velocity in degrees range from -360 to +360."""43 return self._rotate_velocity44 def set_direction(self, direction: int) -> None:45 """Set a new object's direction."""46 self._direction = direction47class TestMoveCommand(TestCase):48 """Tests for the move command."""49 def test_move(self):50 """51 Test move.52 Для объекта, находящегося в точке (12, 5) и движущегося со скоростью (-7, 3)53 движение меняет положение объекта на (5, 8).54 """55 test_fail_msg: str = """56 The object has been moved to wrong position.57 Wrong position: {}58 Right position: {}59 """60 movable_obj = FakeMovableClass(np.array((12, 5)), np.array((-7, 3)))61 MoveCommand(movable_obj).execute()62 self.assertTrue(63 np.array_equal(movable_obj.get_position(), np.array((5, 8))),64 test_fail_msg.format(movable_obj.get_position(), np.array((5, 8)))65 )66 @patch('tests.test_server.test_server.FakeMovableClass.get_position', side_effect=AttributeError())67 def test_trying_move_object_does_not_return_position(self, mock):68 """Check that move command reraise exception if object doesn't have get_position method."""69 movable_obj = FakeMovableClass(np.array((12, 5)), np.array((-7, 3)))70 with self.assertRaises(NotMovableError):71 MoveCommand(movable_obj).execute()72 @patch('tests.test_server.test_server.FakeMovableClass.get_movement_velocity', side_effect=AttributeError())73 def test_trying_move_object_does_not_return_velocity(self, mock):74 """Check that move command reraise exception if object doesn't have get_movement_velocity method."""75 movable_obj = FakeMovableClass(np.array((12, 5)), np.array((-7, 3)))76 with self.assertRaises(NotMovableError):77 MoveCommand(movable_obj).execute()78 @patch('tests.test_server.test_server.FakeMovableClass.set_position', side_effect=AttributeError())79 def test_trying_move_object_does_not_set_position(self, mock):80 """Check that move command reraise exception if object doesn't have set_position method."""81 movable_obj = FakeMovableClass(np.array((12, 5)), np.array((-7, 3)))82 with self.assertRaises(NotMovableError):83 MoveCommand(movable_obj).execute()84class TestRotateCommand(TestCase):85 """Tests for the move command."""86 def test_move(self):87 """88 Test rotate.89 Для объекта c направление 45 градусов и поворачивающегося в лево со скоростью 30 градусов90 финальное направление будет 15 градусов.91 Вектор направления можно будет высчитать позже через матрицу поворота в том месте где это будет необходимо.92 """93 test_fail_msg: str = """94 The object has been rotated to wrong direction.95 Wrong direction: {}96 Right direction: {}97 """98 right_direction: int = 1599 rotable_obj = FakeRotableClass(45, 30)100 RotateCommand(rotable_obj, 'left').execute()101 self.assertEqual(102 rotable_obj.get_direction(), right_direction,103 test_fail_msg.format(rotable_obj.get_direction(), right_direction)104 )105 @patch('tests.test_server.test_server.FakeRotableClass.get_direction', side_effect=AttributeError())106 def test_trying_move_object_does_not_return_direction(self, mock):107 """Check that move command reraise exception if object doesn't have get_direction method."""108 rotable_obj = FakeRotableClass(45, 30)109 with self.assertRaises(NotRotableError):110 RotateCommand(rotable_obj, 'left').execute()111 @patch('tests.test_server.test_server.FakeRotableClass.get_rotation_velocity', side_effect=AttributeError())112 def test_trying_move_object_does_not_return_rotation_velocity(self, mock):113 """Check that move command reraise exception if object doesn't have get_rotation_velocity method."""114 rotable_obj = FakeRotableClass(45, 30)115 with self.assertRaises(NotRotableError):116 RotateCommand(rotable_obj, 'left').execute()117 @patch('tests.test_server.test_server.FakeRotableClass.set_direction', side_effect=AttributeError())118 def test_trying_move_object_does_not_set_direction(self, mock):119 """Check that move command reraise exception if object doesn't have set_direction method."""120 rotable_obj = FakeRotableClass(45, 30)121 with self.assertRaises(NotRotableError):...

Full Screen

Full Screen

pyethereum_test_utils.py

Source: pyethereum_test_utils.py Github

copy

Full Screen

1""" Utility class for testing via pyethereum """2from .deployment import HydraDeployment, extract_language3from ethereum.tools import tester4from ethereum import utils5import unittest6import contextlib7import sys8def bytes_to_int(bytez):9 return int(utils.encode_hex(bytez), 16)10def int_to_bytes(i):11 return int(i).to_bytes(32, byteorder='big')12# Simple utility to silently drop messages to stdout13@contextlib.contextmanager14def nostdout():15 save_stdout = sys.stdout16 sys.stdout = None17 yield18 sys.stdout = save_stdout19class PyEthereumTestCase(unittest.TestCase):20 t = None # ethereum.tools.tester module21 s = None # Chain object22 c = None # Main contract23 initial_state = None # Initial state of the chain24 @classmethod25 def setUpClass(cls):26 super(PyEthereumTestCase, cls).setUpClass()27 # Initialize tester, contract and expose relevant objects28 cls.t = tester29 cls.s = cls.t.Chain()30 cls.s.head_state.gas_limit = 10**8031 cls.s.head_state.set_balance(cls.t.a0, 10**80)32 cls.s.head_state.set_balance(cls.t.a1, 10**80)33 cls.s.head_state.set_balance(cls.t.a2, 10**80)34 cls.s.head_state.set_balance(cls.t.a3, 10**80)35 cls.initial_state = None36 def setUp(self):37 self.longMessage = True38 with nostdout():39 self.s.revert(self.initial_state)40 self.gas_used_before = self.s.head_state.gas_used41 self.refunds_before = self.s.head_state.refunds42 from ethereum.slogging import get_logger43 log_tx = get_logger('eth.pb.tx')44 #log_tx.setLevel("DEBUG")45 log_msg = get_logger('eth.pb.msg')46 #log_msg.setLevel("TRACE")47 def tearDown(self):48 gas_used_after = self.s.head_state.gas_used49 print("Test used {} gas".format(gas_used_after - self.gas_used_before))50 def deploy_contract_from_file(self, contract_file, sender=None, value=0):51 with open(contract_file, 'r') as in_file:52 code = in_file.read()53 if sender is not None:54 return self.s.contract(code, language=extract_language(contract_file),55 sender=sender, value=value, startgas=10**20)56 else:57 return self.s.contract(code, language=extract_language(contract_file),58 value=value, startgas=10**20)59 def check_logs(self, topics, data):60 found = False61 for log_entry in self.s.head_state.receipts[-1].logs:62 if topics == log_entry.topics and data == log_entry.data:63 found = True64 self.assertTrue(found, self.s.head_state.receipts[-1].logs)65 def assert_tx_failed(self, function_to_test,66 exception=tester.TransactionFailed):67 """ Ensure that transaction fails, reverting state68 (to prevent gas exhaustion) """69 initial_state = self.s.snapshot()70 self.assertRaises(exception, function_to_test)71 with nostdout():72 self.s.revert(initial_state)73 def assert_raises_msg(self, func, err_msg, test_fail_msg):74 initial_state = self.s.snapshot()75 with self.assertRaises(Exception) as context:76 func()77 self.assertTrue(str(err_msg) in str(context.exception),78 "expected {}, got {}, ".79 format(str(err_msg),80 str(context.exception)) + test_fail_msg)81 with nostdout():82 self.s.revert(initial_state)83class PyEthereumHydraDeployment(HydraDeployment):84 def __init__(self, chain, creator_key, creator_addr, path_to_metacontract,85 paths_to_heads, instrument=True, verbose=False, instrumenter_path="hydra/​instrumenter/​"):86 super().__init__(creator_addr, path_to_metacontract, paths_to_heads, instrument, verbose)87 self.deployment_chain = chain88 self.creator_key = creator_key89 self.creator_addr = creator_addr90 self.instrumenter_path = instrumenter_path91 # build the instrumenter92 from subprocess import check_call93 check_call(["stack", "build"], cwd=self.instrumenter_path)94 def deploy_contract(self, code, language, **kwargs):95 """96 Deploys a contract to the test chain. Returns the contract's address97 and an ABI wrapper if available98 """99 gas_used_before = self.deployment_chain.head_state.gas_used100 contract = self.deployment_chain.contract(code, sender=self.creator_key,101 language=language,102 startgas=10**20,103 value=kwargs.get('value', 0))104 gas_used_after = self.deployment_chain.head_state.gas_used105 if language == "evm":106 self.logger.debug("Deploying contract of len {} at {} used {} gas".format(107 len(utils.encode_hex(code)),108 utils.encode_hex(contract),109 gas_used_after - gas_used_before))110 return contract, None111 else:112 self.logger.debug("Deploying contract at {} used {} gas".format(113 utils.encode_hex(contract.address),114 gas_used_after - gas_used_before))115 return contract.address, contract116 def get_nonce(self):...

Full Screen

Full Screen

const.py

Source: const.py Github

copy

Full Screen

1TEST_FAIL_MSG = 'Test Failed'...

Full Screen

Full Screen

Blogs

Check out the latest blogs from LambdaTest on this topic:

Test Managers in Agile – Creating the Right Culture for Your SQA Team

I was once asked at a testing summit, “How do you manage a QA team using scrum?” After some consideration, I realized it would make a good article, so here I am. Understand that the idea behind developing software in a scrum environment is for development teams to self-organize.

Introducing LambdaTest Analytics: Test Reporting Made Awesome ????

Collecting and examining data from multiple sources can be a tedious process. The digital world is constantly evolving. To stay competitive in this fast-paced environment, businesses must frequently test their products and services. While it’s easy to collect raw data from multiple sources, it’s far more complex to interpret it properly.

Pair testing strategy in an Agile environment

Pair testing can help you complete your testing tasks faster and with higher quality. But who can do pair testing, and when should it be done? And what form of pair testing is best for your circumstance? Check out this blog for more information on how to conduct pair testing to optimize its benefits.

Dec’22 Updates: The All-New LT Browser 2.0, XCUI App Automation with HyperExecute, And More!

Greetings folks! With the new year finally upon us, we’re excited to announce a collection of brand-new product updates. At LambdaTest, we strive to provide you with a comprehensive test orchestration and execution platform to ensure the ultimate web and mobile experience.

How To Automate Toggle Buttons In Selenium Java

If you pay close attention, you’ll notice that toggle switches are all around us because lots of things have two simple states: either ON or OFF (in binary 1 or 0).

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run assertpy automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful