""" Assertion helpers and base class for offsets tests """ from __future__ import annotations def assert_offset_equal(offset, base, expected): actual = offset + base actual_swapped = base + offset actual_apply = offset._apply(base) try: assert actual == expected assert actual_swapped == expected assert actual_apply == expected except AssertionError as err: raise AssertionError( f"\nExpected: {expected}\nActual: {actual}\nFor Offset: {offset})" f"\nAt Date: {base}" ) from err def assert_is_on_offset(offset, date, expected): actual = offset.is_on_offset(date) assert actual == expected, ( f"\nExpected: {expected}\nActual: {actual}\nFor Offset: {offset})" f"\nAt Date: {date}" ) class WeekDay: MON = 0 TUE = 1 WED = 2 THU = 3 FRI = 4 SAT = 5 SUN = 6