/
docNemo
/
tactic-hack-server
Обзор
Документация
Войти
/
docNemo
/
tactic-hack-server
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
src/matchmaking/queue.test.ts
32 строки
1 KB
neo
Implement matchmaking lobby, authoritative GameRoom with timers and reconnect, integration tests
19 июл 2026, 00:10
19 июл 2026, 00:10
bed576b
Код
Авторство
О чём код?
import { describe, expect, it } from "vitest"; import { InMemoryFifoQueue } from "./queue.js"; describe("InMemoryFifoQueue", () => { it("собирает пару из двух наиболее давних (FIFO)", () => { const queue = new InMemoryFifoQueue(); expect(queue.takePair()).toBeNull(); queue.enqueue("a"); expect(queue.takePair()).toBeNull(); queue.enqueue("b"); queue.enqueue("c"); expect(queue.takePair()).toEqual(["a", "b"]); expect(queue.size).toBe(1); }); it("не ставит игрока в очередь дважды", () => { const queue = new InMemoryFifoQueue(); expect(queue.enqueue("a")).toBe(true); expect(queue.enqueue("a")).toBe(false); expect(queue.size).toBe(1); }); it("удаляет при отмене поиска или дисконнекте", () => { const queue = new InMemoryFifoQueue(); queue.enqueue("a"); queue.enqueue("b"); expect(queue.remove("a")).toBe(true); expect(queue.remove("a")).toBe(false); expect(queue.takePair()).toBeNull(); expect(queue.size).toBe(1); }); });