feat(tuning): release V0.8.2 Agent 界面重构
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
import { ScalarRingBuffer } from './ScalarRingBuffer';
|
||||
|
||||
const point = (step: number, value = step) => ({ step, wallTime: step / 10, value });
|
||||
|
||||
describe('ScalarRingBuffer', () => {
|
||||
it('固定容量覆盖最旧点并保持按 step 排序', () => {
|
||||
const buffer = new ScalarRingBuffer(3);
|
||||
buffer.appendMany([point(2), point(1), point(3), point(4)]);
|
||||
expect(buffer.size).toBe(3);
|
||||
expect(buffer.snapshot().map((value) => value.step)).toEqual([1, 3, 4]);
|
||||
expect(buffer.latestStep).toBe(4);
|
||||
});
|
||||
|
||||
it('按 step 去重更新且忽略非有限数据', () => {
|
||||
const buffer = new ScalarRingBuffer(4);
|
||||
expect(buffer.append(point(1, 2))).toBe(true);
|
||||
expect(buffer.append(point(1, 2))).toBe(false);
|
||||
expect(buffer.append(point(1, 3))).toBe(true);
|
||||
expect(buffer.append({ step: 2, wallTime: 0, value: Number.NaN })).toBe(false);
|
||||
expect(buffer.snapshot()).toEqual([{ step: 1, wallTime: 0.1, value: 3 }]);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user