import { describe, expect, it } from 'vitest'; import { TrackCountry } from './TrackCountry'; describe('TrackCountry', () => { it('should create track country', () => { const country = TrackCountry.create('USA'); expect(country.toString()).toBe('USA'); expect(country.props).toBe('USA'); }); it('should trim whitespace', () => { const country = TrackCountry.create(' USA '); expect(country.toString()).toBe('USA'); }); it('should throw for empty country', () => { expect(() => TrackCountry.create('')).toThrow('Track country is required'); expect(() => TrackCountry.create(' ')).toThrow('Track country is required'); }); it('should equal same countries', () => { const c1 = TrackCountry.create('USA'); const c2 = TrackCountry.create('USA'); expect(c1.equals(c2)).toBe(true); }); it('should not equal different countries', () => { const c1 = TrackCountry.create('USA'); const c2 = TrackCountry.create('UK'); expect(c1.equals(c2)).toBe(false); }); });