File size: 932 Bytes
0521d46
2d48c44
0521d46
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2d48c44
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// test.js

const { processSignal } = require('./engine');

function runDeterministicTest() {
  const input = 'test-signal';

  const run1 = processSignal(input);
  const run2 = processSignal(input);

  console.log('Run 1:', run1);
  console.log('Run 2:', run2);

  const sameOutput = run1.output === run2.output;
  const sameTimestamp = run1.timestamp === run2.timestamp;
  const sameStatus = run1.status === run2.status;

  if (!sameOutput || !sameTimestamp || !sameStatus) {
    console.error('Determinism violated');
    process.exit(1);
  }

  if (run1.invariants.violations.length > 0 || run2.invariants.violations.length > 0) {
    console.error('Invariant violation detected');
    console.error('Run 1 violations:', run1.invariants.violations);
    console.error('Run 2 violations:', run2.invariants.violations);
    process.exit(1);
  }

  console.log('Determinism and invariants confirmed.');
}

runDeterministicTest();