import { expect, test } from "vitest" import { interval, timer } from "#Source/reactor/index.ts" test("timer operator should work correctly", async () => { const tmr = timer({ delay: 100, interval: 50 }) expect(tmr.get()).toBe(0) await new Promise((resolve) => { setTimeout(resolve, 120) }) expect(tmr.get()).toBe(1) await new Promise((resolve) => { setTimeout(resolve, 60) }) expect(tmr.get()).toBe(2) tmr.dispose() await new Promise((resolve) => { setTimeout(resolve, 100) }) expect(tmr.get()).toBe(2) }) test("interval operator should work correctly", async () => { const intv = interval({ interval: 50 }) expect(intv.get()).toBe(0) await new Promise((resolve) => { setTimeout(resolve, 120) }) expect(intv.get()).toBe(2) await new Promise((resolve) => { setTimeout(resolve, 60) }) expect(intv.get()).toBe(3) intv.dispose() await new Promise((resolve) => { setTimeout(resolve, 100) }) expect(intv.get()).toBe(3) })