Metadata-Version: 2.1
Name: mo-testing
Version: 5.419.23168
Summary: More Testing! Extends the `unittest.TestCase` to provide deep, yet fuzzy, structural comparisons
Home-page: https://github.com/klahnakoski/mo-testing
Author: Kyle Lahnakoski
Author-email: kyle@lahnakoski.com
License: MPL 2.0
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mo-collections (==5.417.23168)
Requires-Dist: mo-dots (==9.417.23168)
Requires-Dist: mo-future (==7.416.23168)
Requires-Dist: mo-logs (==8.417.23168)
Requires-Dist: mo-math (==7.417.23168)
Requires-Dist: mo-threads (==5.418.23168)
Provides-Extra: tests

# More Testing

`FuzzyTestCase` extends the `unittest.TestCase` to provide deep, yet fuzzy, structural comparisons; intended for use in test cases dealing with JSON.


## Details

The primary method is the `assertEqual` method with the following parameters:

* `test_value` - the value, or structure being tested
* `expected` - the expected value or structure.  In the case of a number, the accuracy is controlled by the following parameters.  In the case of a structure, only the not-null parameters of `expected` are tested for existence.
* `msg` - Detailed error message if there is no match
* `digits` - number of decimal places of accuracy required to consider two values equal
* `places` - number of significant digits used to compare values for accuracy
* `delta` - maximum difference between values for them to be equal

This method `assertEqual` is recursive; it does a deep comparison; it can not handle cycles in the data structure.


