Add assertNumEvents method and use assertFieldEquals

This commit is contained in:
Christophe Bedard 2019-06-23 12:56:50 +02:00
parent 4b1545ccb4
commit 0abddffeff
7 changed files with 52 additions and 41 deletions

View file

@ -160,6 +160,14 @@ class TraceTestCase(unittest.TestCase):
"""
self.assertTrue(self.are_events_ordered(first_event, second_event))
def assertNumEvents(
self,
events: List[DictEvent],
expected_number: int,
msg: str = 'wrong number of events'
):
self.assertEqual(len(events), expected_number, msg)
def assertMatchingField(
self,
initial_event: DictEvent,
@ -200,16 +208,23 @@ class TraceTestCase(unittest.TestCase):
1,
'matching field event not after initial event')
def assertFieldEquals(self, event: DictEvent, field_name: str, value: Any):
def assertFieldEquals(
self,
event: DictEvent,
field_name: str,
value: Any,
msg: str = 'wrong field value'
):
"""
Check the value of a field.
:param event: the event
:param field_name: the name of the field to check
:param value: to value to compare the field value to
:param msg: the message to display on failure
"""
actual_value = self.get_field(event, field_name)
self.assertEqual(actual_value, value, 'invalid field value')
self.assertEqual(actual_value, value, msg)
def get_field(self, event: DictEvent, field_name: str) -> Any:
"""