From 20bfb89690618936b61ae79fbc8a6f0071b25060 Mon Sep 17 00:00:00 2001 From: sanine Date: Sat, 10 Jun 2023 02:18:49 -0500 Subject: begin writing mind topology --- src/mind/topology.js | 14 ++++++++++++++ src/mind/topology.test.js | 31 +++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 src/mind/topology.js create mode 100644 src/mind/topology.test.js (limited to 'src') diff --git a/src/mind/topology.js b/src/mind/topology.js new file mode 100644 index 0000000..58e229e --- /dev/null +++ b/src/mind/topology.js @@ -0,0 +1,14 @@ +'use strict'; + + +const PointProto = { + +}; + + +export function Point(layer, index) { + return Object.freeze({ + layer, + index, + }); +} diff --git a/src/mind/topology.test.js b/src/mind/topology.test.js new file mode 100644 index 0000000..421eb17 --- /dev/null +++ b/src/mind/topology.test.js @@ -0,0 +1,31 @@ +'use strict'; + +import { Point } from './topology'; + +test('Point works correctly', () => { + const p = Point(0, 1); + expect(p.layer).toBe(0); + expect(p.index).toBe(1); + expect(() => p.layer = 5).toThrow(); +}); + + +test('Point equality works correctly', () => { + const a00 = Point(0, 0); + const b00 = Point(0, 0); + const a01 = Point(0, 1); + const b01 = Point(0, 1); + const a10 = Point(1, 0); + const b10 = Point(1, 0); + const a11 = Point(1, 1); + const b11 = Point(1, 1); + + expect(a00 == b00).toBeTruthy(); + expect(a01 == b01).toBeTruthy(); + expect(a10 == b10).toBeTruthy(); + expect(a11 == b11).toBeTruthy(); + + expect(a00 == a01).toBeFalsy(); + expect(a00 == a10).toBeFalsy(); + expect(a00 == a11).toBeFalsy(); +}); -- cgit v1.2.1