UI enhancemnts
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import test from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import { BenchmarkProvider } from '../server/domains/shared/services/BenchmarkProvider.js';
|
||||
|
||||
// P0.5 — rate-regime hysteresis: the 10Y must cross a boundary by ±0.25%
|
||||
// before the regime flips, so a rate hovering at the threshold can't toggle
|
||||
// INFLATED gates between back-to-back requests.
|
||||
test('BenchmarkProvider.resolveRateRegime', async (t) => {
|
||||
await t.test('no previous regime → raw thresholds apply', () => {
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(1.5, null), 'LOW');
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(4.5, null), 'NORMAL');
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(5.1, null), 'HIGH');
|
||||
});
|
||||
|
||||
await t.test('NORMAL holds until 10Y clears 5.25%', () => {
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(5.1, 'NORMAL'), 'NORMAL'); // damped
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(5.25, 'NORMAL'), 'NORMAL'); // boundary
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(5.3, 'NORMAL'), 'HIGH'); // crossed
|
||||
});
|
||||
|
||||
await t.test('HIGH holds until 10Y drops below 4.75%', () => {
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(4.9, 'HIGH'), 'HIGH'); // damped
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(4.75, 'HIGH'), 'HIGH'); // boundary
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(4.7, 'HIGH'), 'NORMAL'); // crossed
|
||||
});
|
||||
|
||||
await t.test('LOW/NORMAL boundary at 2% gets the same damping', () => {
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(1.9, 'NORMAL'), 'NORMAL'); // damped
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(1.7, 'NORMAL'), 'LOW'); // crossed
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(2.1, 'LOW'), 'LOW'); // damped
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(2.3, 'LOW'), 'NORMAL'); // crossed
|
||||
});
|
||||
|
||||
await t.test('no change when raw regime equals previous', () => {
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(4.5, 'NORMAL'), 'NORMAL');
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(6.0, 'HIGH'), 'HIGH');
|
||||
});
|
||||
|
||||
await t.test('double jump (LOW→HIGH) is not damped', () => {
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(5.4, 'LOW'), 'HIGH');
|
||||
assert.equal(BenchmarkProvider.resolveRateRegime(1.2, 'HIGH'), 'LOW');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user