A little over a year ago, I [asked for feedback][1]asked for feedback on Code Review for a unit testing framework I created in VBA. Development of this project has been off and on for the past year. Sometimes I wouldn't touch the project for months. Other times, I'd be working very intensely on pushing updates. The project has changed significantly since I last submitted it. So I thought I'd submit an updated version again for additional review. Below are some changes I've made since I submitted my request for Feedback.
The TestResult object allows users to utilize UserDefinedEvents. The TestResult implements a CheckTest() method that raises three events: TestCompleted(), TestPassed(), and TestFailed(). TestCompleted is raised every time a test is run. TestPassed and TestFailed are conditionally raised depending on whether a test passed or failed respectively. Each of the events is passed a dictionary object called TestDict which contains a variety of information about the test(s). You can see an example of how these might be used below:
Set Col = New Collection
fluent.TestValue = testFluent.Of(Col).Should.Be.Something
Debug.Assert fluent.Should.Be.EqualTo(True)
Debug.Assert fluent.ShouldNot.Be.EqualTo(False)
Set Col = Nothing
fluent.TestValue = testFluent.Of(Col).Should.Be.Something
Debug.Assert fluent.Should.Be.EqualTo(False)
Debug.Assert fluent.ShouldNot.Be.EqualTo(True)
