import { AiDebugMcpServer } from '../src/index';
import { SessionManager } from '../src/core/session-manager';
import { LocalDebugEngine } from '../src/engines/local-debug-engine';

describe('AiDebugMcpServer', () => {
  it('should be defined', () => {
    expect(AiDebugMcpServer).toBeDefined();
  });

  it('should create an instance', () => {
    const server = new AiDebugMcpServer();
    expect(server).toBeInstanceOf(AiDebugMcpServer);
  });
});

describe('SessionManager', () => {
  let sessionManager: SessionManager;

  beforeEach(() => {
    sessionManager = new SessionManager();
  });

  it('should generate unique session IDs', () => {
    const id1 = sessionManager.generateSessionId();
    const id2 = sessionManager.generateSessionId();
    expect(id1).not.toBe(id2);
  });

  it('should start with no sessions', () => {
    expect(sessionManager.getAllSessions()).toHaveLength(0);
  });
});

describe('LocalDebugEngine', () => {
  it('should be defined', () => {
    expect(LocalDebugEngine).toBeDefined();
  });

  it('should create an instance', () => {
    const engine = new LocalDebugEngine();
    expect(engine).toBeInstanceOf(LocalDebugEngine);
  });
});