Commit Graph

4 Commits

Author SHA1 Message Date
AJ
d1a5dd279c Add validation and business logic to domain models
Enhance Tool, BinItem, and MultiBin classes with:
- Input validation in constructors and property setters
- Guard clauses for invalid states (negative values, empty names)
- Business logic methods (CanFitItem, CalculateWaste, etc.)
- Proper encapsulation with backing fields
- Comprehensive XML documentation
- Override Equals/GetHashCode for value semantics
- Better ToString() implementations

These changes enforce business rules at the domain level and prevent
invalid states from being created.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-22 23:02:37 -05:00
AJ
b65dd1ec7d Used lower value priority bins first. 2022-02-09 11:22:56 -05:00
AJ
fc557d2500 Cleanup 2021-10-07 09:12:38 -04:00
AJ
28d53e6d38 Multi-bin nesting 2021-10-05 09:24:05 -04:00