|
Major improvements:
1. Replace instanceof checks with polymorphic methods in VSAbstractEvent hierarchy
- Added isInternalEvent(), isMessageReceiveEvent(), etc. methods
- Added getEventPriority() for clean event ordering
- Added shouldIncreaseTimestamps() to control timestamp behavior
- Refactored VSTask to use these polymorphic methods
2. Extract magic numbers and strings to constants
- Created VSConstants class for centralized configuration values
- Added event priority constants (PRIORITY_HIGHEST, PRIORITY_HIGH, etc.)
- Extracted string constants like CLASS_PREFIX
- Moved magic numbers to named constants (PERCENTAGE_RANGE, etc.)
3. Update tests to work with new polymorphic approach
- Fixed mocking in VSTaskTest to return correct values
- All 132 tests passing
These changes improve maintainability, reduce coupling, and make the codebase
more self-documenting. The polymorphic approach eliminates type checking and
makes it easier to add new event types.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
- Add test structure with 133 unit tests (124 passing)
- Test coverage for core classes: VSTask, VSMessage
- Test coverage for event system: VSAbstractEvent, VSRegisteredEvents, and implementations
- Test coverage for protocol framework: VSAbstractProtocol, VSPingPongProtocol
- Some protocol tests fail due to complex mocking requirements, but core functionality is well tested
This establishes a solid foundation for safe refactoring and future development.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
|