Spaces:
Sleeping
Sleeping
| import { filterEventsWithRange } from "../helpers/filterEvents" | |
| import EventScheduler from "./EventScheduler" | |
| describe("EventScheduler", () => { | |
| it("readNextEvents", () => { | |
| const events = [{ tick: 0 }, { tick: 100 }, { tick: 110 }] | |
| const s = new EventScheduler( | |
| (start, end) => filterEventsWithRange(events, start, end), | |
| () => [], | |
| 0, | |
| 480, | |
| 100, | |
| ) | |
| // ๅ ่ชญใฟๆ้ๅใฎใคใใณใใๅ ฅใฃใฆใใ | |
| // There are events for read ahead time | |
| { | |
| const result = s.readNextEvents(120, 0) | |
| expect(result.length).toBe(1) | |
| expect(result[0].event).toBe(events[0]) | |
| } | |
| // ๅๅใใๆ้ใ็ต้ใใฆใชใใใฐใคใใณใใฏใชใ | |
| // There is no event if time has passed since last time | |
| { | |
| const result = s.readNextEvents(120, 0) | |
| expect(result.length).toBe(0) | |
| } | |
| // ๆ้ใ็ต้ใใใจ2ๅ็ฎไปฅ้ใฎใคใใณใใ่ฟใฃใฆใใ | |
| // If time has passed, the second or later events will come back | |
| { | |
| const result = s.readNextEvents(120, 120) | |
| expect(result.length).toBe(2) | |
| expect(result[0].event).toBe(events[1]) | |
| expect(result[0].timestamp).toBe(120) | |
| expect(result[1].event).toBe(events[2]) | |
| expect(result[1].timestamp).toBe(120) | |
| } | |
| }) | |
| }) | |