12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import {TrivialParser} from "./trivial_parser";
- import {
- initialVersion,
- VersionRegistry,
- } from "../onion/version";
- import {
- NodeCreation,
- NodeDeletion,
- EdgeCreation,
- EdgeUpdate,
- } from "../onion/primitive_delta";
- import {CompositeLevel} from "../onion/composite_delta";
- import {mockUuid} from "../onion/test_helpers";
- import {assert} from "../util/assert";
- describe("Trivial Parser", () => {
- it("Parse CS creation and deletion", () => {
- const registry = new VersionRegistry();
- const csLvl = new CompositeLevel();
- const asLvl = new CompositeLevel();
- const corrLvl = new CompositeLevel();
- const getUuid = mockUuid();
- const parser = new TrivialParser(registry, csLvl, asLvl, corrLvl, getUuid);
- const csInitial = initialVersion;
- const corrInitial = initialVersion;
- const asInitital = initialVersion;
- const csCreation = new NodeCreation(getUuid());
- const csDeletion = new NodeDeletion(csCreation, [], []);
- const csV1 = registry.createVersion(csInitial, csLvl.createComposite([csCreation]));
- const csV2 = registry.createVersion(csV1, csLvl.createComposite([csDeletion]));
- const corrV1 = parser.parse(csV1, corrInitial);
- const corrV2 = parser.parse(csV2, corrV1);
- const asV2 = corrV2.getEmbedded("as")?.embedded;
- if (asV2 === undefined) {
- throw new Error("Expected asV2 to exist!");
- }
-
- const asV2Primitives = [...asV2.iterPrimitiveDeltas()];
- assert(asV2Primitives.length === 2, "Expected 2 primitive deltas on AS");
- });
- });
|