Raises an assertion error if two items are equal.
(actual, desired, err_msg='',)
| 145 | |
| 146 | |
| 147 | def fail_if_equal(actual, desired, err_msg='',): |
| 148 | """ |
| 149 | Raises an assertion error if two items are equal. |
| 150 | |
| 151 | """ |
| 152 | if isinstance(desired, dict): |
| 153 | if not isinstance(actual, dict): |
| 154 | raise AssertionError(repr(type(actual))) |
| 155 | fail_if_equal(len(actual), len(desired), err_msg) |
| 156 | for k, i in desired.items(): |
| 157 | if k not in actual: |
| 158 | raise AssertionError(repr(k)) |
| 159 | fail_if_equal(actual[k], desired[k], f'key={k!r}\n{err_msg}') |
| 160 | return |
| 161 | if isinstance(desired, (list, tuple)) and isinstance(actual, (list, tuple)): |
| 162 | fail_if_equal(len(actual), len(desired), err_msg) |
| 163 | for k in range(len(desired)): |
| 164 | fail_if_equal(actual[k], desired[k], f'item={k!r}\n{err_msg}') |
| 165 | return |
| 166 | if isinstance(actual, np.ndarray) or isinstance(desired, np.ndarray): |
| 167 | return fail_if_array_equal(actual, desired, err_msg) |
| 168 | msg = build_err_msg([actual, desired], err_msg) |
| 169 | if not desired != actual: |
| 170 | raise AssertionError(msg) |
| 171 | |
| 172 | |
| 173 | assert_not_equal = fail_if_equal |
no test coverage detected