(self, assert_approx_raises_regex)
| 94 | |
| 95 | class TestApprox: |
| 96 | def test_error_messages(self, assert_approx_raises_regex): |
| 97 | np = pytest.importorskip("numpy") |
| 98 | |
| 99 | assert_approx_raises_regex( |
| 100 | 2.0, |
| 101 | 1.0, |
| 102 | [ |
| 103 | " comparison failed", |
| 104 | f" Obtained: {SOME_FLOAT}", |
| 105 | f" Expected: {SOME_FLOAT} ± {SOME_FLOAT}", |
| 106 | ], |
| 107 | ) |
| 108 | |
| 109 | assert_approx_raises_regex( |
| 110 | {"a": 1.0, "b": 1000.0, "c": 1000000.0}, |
| 111 | { |
| 112 | "a": 2.0, |
| 113 | "b": 1000.0, |
| 114 | "c": 3000000.0, |
| 115 | }, |
| 116 | [ |
| 117 | r" comparison failed. Mismatched elements: 2 / 3:", |
| 118 | rf" Max absolute difference: {SOME_FLOAT}", |
| 119 | rf" Max relative difference: {SOME_FLOAT}", |
| 120 | r" Index \| Obtained\s+\| Expected ", |
| 121 | rf" a \| {SOME_FLOAT} \| {SOME_FLOAT} ± {SOME_FLOAT}", |
| 122 | rf" c \| {SOME_FLOAT} \| {SOME_FLOAT} ± {SOME_FLOAT}", |
| 123 | ], |
| 124 | ) |
| 125 | |
| 126 | assert_approx_raises_regex( |
| 127 | [1.0, 2.0, 3.0, 4.0], |
| 128 | [1.0, 3.0, 3.0, 5.0], |
| 129 | [ |
| 130 | r" comparison failed. Mismatched elements: 2 / 4:", |
| 131 | rf" Max absolute difference: {SOME_FLOAT}", |
| 132 | rf" Max relative difference: {SOME_FLOAT}", |
| 133 | r" Index \| Obtained\s+\| Expected ", |
| 134 | rf" 1 \| {SOME_FLOAT} \| {SOME_FLOAT} ± {SOME_FLOAT}", |
| 135 | rf" 3 \| {SOME_FLOAT} \| {SOME_FLOAT} ± {SOME_FLOAT}", |
| 136 | ], |
| 137 | ) |
| 138 | |
| 139 | a = np.linspace(0, 100, 20) |
| 140 | b = np.linspace(0, 100, 20) |
| 141 | a[10] += 0.5 |
| 142 | assert_approx_raises_regex( |
| 143 | a, |
| 144 | b, |
| 145 | [ |
| 146 | r" comparison failed. Mismatched elements: 1 / 20:", |
| 147 | rf" Max absolute difference: {SOME_FLOAT}", |
| 148 | rf" Max relative difference: {SOME_FLOAT}", |
| 149 | r" Index \| Obtained\s+\| Expected", |
| 150 | rf" \(10,\) \| {SOME_FLOAT} \| {SOME_FLOAT} ± {SOME_FLOAT}", |
| 151 | ], |
| 152 | ) |
| 153 |
nothing calls this directly
no test coverage detected