Number Library TODO List
Root Expression Simplification
Review fuzzy equality (~=) implementation and testing strategy. Current approach requires exact floating-point values in tests, but fuzziness should allow for reasonable tolerance. Consider: (1) whether isProbablyZero tolerance is too strict, (2) whether test assertions should use explicit tolerance parameters, (3) why AbsoluteFuzz(5E-15) isn't providing enough wiggle room for 1E-9 differences. The fuzzyEqv logic may need refinement to properly use fuzziness bounds rather than hardcoded 1e-9 tolerance
Establish naming conventions for test descriptions
Define standard format for it should "xxxx" in strings
Consider patterns like:
Behavior-focused: "simplify X to Y" vs "X simplifies to Y"
Property-focused: "be atomic" vs "have atomic property"
Action-focused: "evaluate X correctly" vs "evaluate X"
Negative cases: "not simplify X" vs "fail to simplify X"
Create style guide for consistency
Examples of good vs unclear test names
Consider whether test names should match behavior names
Balance between brevity and clarity
I'll think about patterns I'm seeing and have some recommendations ready when you're back
Future Enhancements
(Add items as they come up)
Number Library TODO List
Root Expression Simplification
Complexnumbers inRoot.simplifyExact, or leave those symbolic?k=1(which should always be exact)?Review fuzzy equality (~=) implementation and testing strategy. Current approach requires exact floating-point values in tests, but fuzziness should allow for reasonable tolerance. Consider: (1) whether isProbablyZero tolerance is too strict, (2) whether test assertions should use explicit tolerance parameters, (3) why AbsoluteFuzz(5E-15) isn't providing enough wiggle room for 1E-9 differences. The fuzzyEqv logic may need refinement to properly use fuzziness bounds rather than hardcoded 1e-9 tolerance
Establish naming conventions for test descriptions
Define standard format for it should "xxxx" in strings
Consider patterns like:
Behavior-focused: "simplify X to Y" vs "X simplifies to Y"
Property-focused: "be atomic" vs "have atomic property"
Action-focused: "evaluate X correctly" vs "evaluate X"
Negative cases: "not simplify X" vs "fail to simplify X"
Create style guide for consistency
Examples of good vs unclear test names
Consider whether test names should match behavior names
Balance between brevity and clarity
I'll think about patterns I'm seeing and have some recommendations ready when you're back
Future Enhancements
(Add items as they come up)