123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- import {RountangleParser} from "./rountangle_parser";
- import {
- VersionRegistry,
- } from "../onion/version";
- import {
- NodeCreation,
- NodeDeletion,
- EdgeUpdate,
- } from "../onion/delta";
- import {DeltaRegistry} from "../onion/delta_registry";
- import {assert} from "../util/assert";
- // describe("Trivial Parser", () => {
- // it("Parse CS creation and deletion", () => {
- // const deltaRegistry = new DeltaRegistry();
- // const csRegistry = new VersionRegistry();
- // const corrRegistry = new VersionRegistry();
- // const asRegistry = new VersionRegistry();
- // const csLvl = new CompositeLevel(); // L1
- // const asLvl = new CompositeLevel(); // L1
- // const corrLvl = new CompositeLevel(); // L1
- // const getUuid = mockUuid();
- // const parser = new TrivialParser(deltaRegistry, getUuid, /*{csLvl, asLvl, corrLvl}*/);
- // const csCreation = deltaRegistry.newNodeCreation(getUuid());
- // const csDeletion = deltaRegistry.newNodeDeletion(csCreation, [], []);
- // const csV1Composite = csLvl.createComposite([csCreation]);
- // const csV2Composite = csLvl.createComposite([csDeletion]);
- // const csV0 = csRegistry.initialVersion;
- // const corrV0 = corrRegistry.initialVersion;
- // const asV0 = asRegistry.initialVersion;
-
- // const {corrComposite: corrV1Composite, targetComposite: asV1Composite} = parser.parse(csV1Composite, csV0, corrV0, asV0);
- // const csV1 = csRegistry.createVersion(csV0, csV1Composite);
- // const corrV1 = corrRegistry.createVersion(corrV0, corrV1Composite);
- // const asV1 = asRegistry.createVersion(asV0, asV1Composite);
- // const {corrComposite: corrV2Composite, targetComposite: asV2Composite} = parser.parse(csV2Composite, csV1, corrV1, asV1);
- // const csV2 = csRegistry.createVersion(csV1, csV2Composite);
- // const corrV2 = corrRegistry.createVersion(corrV1, corrV2Composite);
- // const asV2 = asRegistry.createVersion(asV1, asV2Composite);
- // const asV2Primitives = [...asV2.iterPrimitiveDeltas()];
- // assert(asV2Primitives.length === 2, "Expected 2 primitive deltas on AS");
- // });
- // it("Parse CS creation and deletion (with CS edge)", () => {
- // const deltaRegistry = new DeltaRegistry();
- // const csRegistry = new VersionRegistry();
- // const corrRegistry = new VersionRegistry();
- // const asRegistry = new VersionRegistry();
- // const csLvl = new CompositeLevel(); // L1
- // const asLvl = new CompositeLevel(); // L1
- // const corrLvl = new CompositeLevel(); // L1
- // const getUuid = mockUuid();
- // const parser = new TrivialParser(deltaRegistry, getUuid, {csLvl, asLvl, corrLvl});
- // // Same as before, but this time, we also create an edge in CS:
- // const csV0 = csRegistry.initialVersion;
- // const corrV0 = corrRegistry.initialVersion;
- // const asV0 = asRegistry.initialVersion;
- // const csCreation = deltaRegistry.newNodeCreation(getUuid());
- // const csCreateEdge = deltaRegistry.newEdgeUpdate(csCreation.createOutgoingEdge("x"), csCreation); // self-edge
- // const csUnsetEdge = deltaRegistry.newEdgeUpdate(csCreateEdge, null);
- // const csDeletion = deltaRegistry.newNodeDeletion(csCreation, [csUnsetEdge], [csUnsetEdge]);
- // assert(csDeletion.conflictsWith.length === 0, "expected CS deletion to not have conflicts (yet).");
- // const csTransactions = [
- // csLvl.createComposite([csCreation]),
- // csLvl.createComposite([csCreateEdge]),
- // csLvl.createComposite([csUnsetEdge]),
- // csLvl.createComposite([csDeletion]),
- // ];
- // // Parse all CS composites:
- // const [csFinal, corrFinal, asFial] = csTransactions.reduce(([csParent, corrParent, asParent], csComposite) => {
- // const {corrComposite, targetComposite: asComposite} = parser.parse(csComposite, csParent, corrParent, asParent);
- // return [
- // csRegistry.createVersion(csParent, csComposite),
- // corrRegistry.createVersion(corrParent, corrComposite),
- // asRegistry.createVersion(asParent, asComposite),
- // ];
- // }, [csV0, corrV0, asV0]);
- // console.log("corrFinal primitives:", [...corrFinal.iterPrimitiveDeltas()])
- // });
- // });
|