UNPKG

nes-emu

Version:

A NES emulator

33 lines (32 loc) 1.24 kB
"use strict"; var _InMemoryRegister = _interopRequireDefault(require("./InMemoryRegister")); var _memory = require("../memory"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const should = require("chai").Should(); describe("registers", () => { describe("InMemoryRegister", () => { let memory, register; beforeEach(() => { memory = _memory.WithCompositeMemory.createSegment([new _InMemoryRegister.default(), // byte 0 new _InMemoryRegister.default(), // byte 1 new _InMemoryRegister.default(), // byte 2 register = new _InMemoryRegister.default() // byte 3 .addField("booleanBit2", 2).addReadOnlyField("shortNumberBit5", 5, 2).addField("longNumberBit4", 4, 4)]); }); it("allows reading subfields", () => { memory.writeAt(3, 0b01100100); register.booleanBit2.should.equal(1); register.shortNumberBit5.should.equal(0b11); register.longNumberBit4.should.equal(0b0110); }); it("allows writing subfields", () => { register.booleanBit2 = 1; memory.readAt(3).should.equal(0b00000100); register.longNumberBit4 = 0b1101; memory.readAt(3).should.equal(0b11010100); }); }); });