(
arrays,
err_msg,
header="Items are not equal:",
verbose=True,
names=("ACTUAL", "DESIRED"),
precision=8,
)
| 96 | |
| 97 | |
| 98 | def build_err_msg( |
| 99 | arrays, |
| 100 | err_msg, |
| 101 | header="Items are not equal:", |
| 102 | verbose=True, |
| 103 | names=("ACTUAL", "DESIRED"), |
| 104 | precision=8, |
| 105 | ): |
| 106 | msg = ["\n" + header] |
| 107 | if err_msg: |
| 108 | if err_msg.find("\n") == -1 and len(err_msg) < 79 - len(header): |
| 109 | msg = [msg[0] + " " + err_msg] |
| 110 | else: |
| 111 | msg.append(err_msg) |
| 112 | if verbose: |
| 113 | for i, a in enumerate(arrays): |
| 114 | if isinstance(a, ndarray): |
| 115 | # precision argument is only needed if the objects are ndarrays |
| 116 | # r_func = partial(array_repr, precision=precision) |
| 117 | r_func = ndarray.__repr__ |
| 118 | else: |
| 119 | r_func = repr |
| 120 | |
| 121 | try: |
| 122 | r = r_func(a) |
| 123 | except Exception as exc: |
| 124 | r = f"[repr failed for <{type(a).__name__}>: {exc}]" |
| 125 | if r.count("\n") > 3: |
| 126 | r = "\n".join(r.splitlines()[:3]) |
| 127 | r += "..." |
| 128 | msg.append(f" {names[i]}: {r}") |
| 129 | return "\n".join(msg) |
| 130 | |
| 131 | |
| 132 | def assert_equal(actual, desired, err_msg="", verbose=True): |
no test coverage detected
searching dependent graphs…