import { describe, it, expect } from 'vitest';
import { IRacingId } from './IRacingId';

describe('IRacingId', () => {
  it('should create an iRacing id', () => {
    const id = IRacingId.create('12345');
    expect(id.toString()).toBe('12345');
  });

  it('should throw on empty id', () => {
    expect(() => IRacingId.create('')).toThrow('iRacing ID is required');
  });

  it('should throw on whitespace id', () => {
    expect(() => IRacingId.create('   ')).toThrow('iRacing ID is required');
  });

  it('should equal same id', () => {
    const id1 = IRacingId.create('12345');
    const id2 = IRacingId.create('12345');
    expect(id1.equals(id2)).toBe(true);
  });

  it('should not equal different id', () => {
    const id1 = IRacingId.create('12345');
    const id2 = IRacingId.create('67890');
    expect(id1.equals(id2)).toBe(false);
  });
});