Metadata-Version: 2.1
Name: softest
Version: 1.0.1.1
Summary: Supports lightweight soft assertions by extending the unittest.TestCase class
Home-page: http://privately.maintained.for.now
Author: Nick Umble
Author-email: privately.maintained@for.now
License: UNKNOWN
Description: # softest - Soft Assertions
        
        Supports the soft assert style of testing,  
        where multiple assertions can fail within the same method,  
        while collecting and formatting those failures' stack traces  
        for reporting by a final `assert_all` call.
        
        Such stack traces are enhanced  
        to include the call hierarchy  
        from within the test class.
        
        ## Usage
        
        ```python
        import softest
        	
        class ExampleTest(softest.TestCase):
        	def test_example(self):
        		self.soft_assert(self.assertEqual, 'Worf', 'wharf', 'Klingon is not ship receptacle')
        		self.soft_assert(self.assertTrue, True)
        		self.soft_assert(self.assertTrue, False)
        
        		self.assert_all()
        
        if __name__ == '__main__':
        	softest.main()
        ```
        
        
        ### Error Console Output
        
        ```
        ======================================================================
        FAIL: "test_example" (ExampleTest)
        ----------------------------------------------------------------------
        Traceback (most recent call last):
          File "C:\...\softest_test.py", line 14, in test_example
            self.assert_all()
          File "C:\...\softest\case.py", line 138, in assert_all
            self.fail(''.join(failure_output))
        AssertionError: ++++ soft assert failure details follow below ++++
        
        ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        The following 2 failures were found in "test_example" (ExampleTest):
        ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        Failure 1 ("test_example" method)
        +--------------------------------------------------------------------+
        Traceback (most recent call last):
          File "C:\...\softest_test.py", line 10, in test_example
            self.soft_assert(self.assertEqual, 'Worf', 'wharf', 'Klingon is not ship receptacle')
          File "C:\...\softest\case.py", line 84, in soft_assert
            assert_method(*arguments, **keywords)
          File "C:\...\Python\Python36-32\lib\unittest\case.py", line 829, in assertEqual
            assertion_func(first, second, msg=msg)
          File "C:\...\Python\Python36-32\lib\unittest\case.py", line 1203, in assertMultiLineEqual
            self.fail(self._formatMessage(msg, standardMsg))
          File "C:\...\Python\Python36-32\lib\unittest\case.py", line 670, in fail
            raise self.failureException(msg)
        AssertionError: 'Worf' != 'wharf'
        - Worf
        + wharf
         : Klingon is not ship receptacle
        
        +--------------------------------------------------------------------+
        Failure 2 ("test_example" method)
        +--------------------------------------------------------------------+
        Traceback (most recent call last):
          File "C:\...\softest_test.py", line 12, in test_example
            self.soft_assert(self.assertTrue, False)
          File "C:\...\softest\case.py", line 84, in soft_assert
            assert_method(*arguments, **keywords)
          File "C:\...\Python\Python36-32\lib\unittest\case.py", line 682, in assertTrue
            raise self.failureException(msg)
        AssertionError: False is not true
        
        
        ----------------------------------------------------------------------
        Ran 1 test in 0.000s
        
        FAILED (failures=1)
        ```
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: Freeware
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Testing
Description-Content-Type: text/markdown
