simple-dfa
Version:
Allow construction, validation, and manual step-through of a simple DFA.
32 lines (28 loc) • 957 B
JavaScript
const assert = require("assert");
const SimpleDFA = require('../../simple-dfa.js');
const states = ["1","2","3","4"];
const alphabet = ["a", "b", "c"];
const transitions = {
1: {'a': '2', 'b': '2', 'c': '3'},
2: {'b': '3', 'c': '3'},
3: {'a': '1', 'b': '1', 'c': '1'},
};
const start = "1";
const accept = ["2","3","4"];
describe("Observe State .observe.state", () => {
const dfa = new SimpleDFA(states, alphabet, transitions, start, accept);
describe ("Legal", () => {
it("Observe Connected", () => {
assert.equal(dfa.isConnected("1"), true);
assert.equal(dfa.isConnected("2"), true);
assert.equal(dfa.isConnected("3"), true);
assert.equal(dfa.isConnected("4"), false);
assert.equal(dfa.isConnected("-1"), false);
});
});
describe ("Illegal", () => {
it("Observe Connected", () => {
assert.throws(() => dfa.isConnected({bad: "data"}));
});
});
});