trivial_parser.test.ts 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import {TrivialParser} from "./trivial_parser";
  2. import {
  3. VersionRegistry,
  4. } from "../onion/version";
  5. import {
  6. NodeCreation,
  7. NodeDeletion,
  8. EdgeCreation,
  9. EdgeUpdate,
  10. PrimitiveRegistry,
  11. } from "../onion/primitive_delta";
  12. // import {CompositeLevel} from "../onion/composite_delta";
  13. import {mockUuid} from "../onion/test_helpers";
  14. import {assert} from "../util/assert";
  15. // describe("Trivial Parser", () => {
  16. // it("Parse CS creation and deletion", () => {
  17. // const primitiveRegistry = new PrimitiveRegistry();
  18. // const csRegistry = new VersionRegistry();
  19. // const corrRegistry = new VersionRegistry();
  20. // const asRegistry = new VersionRegistry();
  21. // const csLvl = new CompositeLevel(); // L1
  22. // const asLvl = new CompositeLevel(); // L1
  23. // const corrLvl = new CompositeLevel(); // L1
  24. // const getUuid = mockUuid();
  25. // const parser = new TrivialParser(primitiveRegistry, getUuid, /*{csLvl, asLvl, corrLvl}*/);
  26. // const csCreation = primitiveRegistry.newNodeCreation(getUuid());
  27. // const csDeletion = primitiveRegistry.newNodeDeletion(csCreation, [], []);
  28. // const csV1Composite = csLvl.createComposite([csCreation]);
  29. // const csV2Composite = csLvl.createComposite([csDeletion]);
  30. // const csV0 = csRegistry.initialVersion;
  31. // const corrV0 = corrRegistry.initialVersion;
  32. // const asV0 = asRegistry.initialVersion;
  33. // const {corrComposite: corrV1Composite, targetComposite: asV1Composite} = parser.parse(csV1Composite, csV0, corrV0, asV0);
  34. // const csV1 = csRegistry.createVersion(csV0, csV1Composite);
  35. // const corrV1 = corrRegistry.createVersion(corrV0, corrV1Composite);
  36. // const asV1 = asRegistry.createVersion(asV0, asV1Composite);
  37. // const {corrComposite: corrV2Composite, targetComposite: asV2Composite} = parser.parse(csV2Composite, csV1, corrV1, asV1);
  38. // const csV2 = csRegistry.createVersion(csV1, csV2Composite);
  39. // const corrV2 = corrRegistry.createVersion(corrV1, corrV2Composite);
  40. // const asV2 = asRegistry.createVersion(asV1, asV2Composite);
  41. // const asV2Primitives = [...asV2.iterPrimitiveDeltas()];
  42. // assert(asV2Primitives.length === 2, "Expected 2 primitive deltas on AS");
  43. // });
  44. // it("Parse CS creation and deletion (with CS edge)", () => {
  45. // const primitiveRegistry = new PrimitiveRegistry();
  46. // const csRegistry = new VersionRegistry();
  47. // const corrRegistry = new VersionRegistry();
  48. // const asRegistry = new VersionRegistry();
  49. // const csLvl = new CompositeLevel(); // L1
  50. // const asLvl = new CompositeLevel(); // L1
  51. // const corrLvl = new CompositeLevel(); // L1
  52. // const getUuid = mockUuid();
  53. // const parser = new TrivialParser(primitiveRegistry, getUuid, {csLvl, asLvl, corrLvl});
  54. // // Same as before, but this time, we also create an edge in CS:
  55. // const csV0 = csRegistry.initialVersion;
  56. // const corrV0 = corrRegistry.initialVersion;
  57. // const asV0 = asRegistry.initialVersion;
  58. // const csCreation = primitiveRegistry.newNodeCreation(getUuid());
  59. // const csCreateEdge = primitiveRegistry.newEdgeCreation(csCreation, "x", csCreation); // self-edge
  60. // const csUnsetEdge = primitiveRegistry.newEdgeUpdate(csCreateEdge, null);
  61. // const csDeletion = primitiveRegistry.newNodeDeletion(csCreation, [csUnsetEdge], [csUnsetEdge]);
  62. // assert(csDeletion.getConflicts().length === 0, "expected CS deletion to not have conflicts (yet).");
  63. // const csTransactions = [
  64. // csLvl.createComposite([csCreation]),
  65. // csLvl.createComposite([csCreateEdge]),
  66. // csLvl.createComposite([csUnsetEdge]),
  67. // csLvl.createComposite([csDeletion]),
  68. // ];
  69. // // Parse all CS composites:
  70. // const [csFinal, corrFinal, asFial] = csTransactions.reduce(([csParent, corrParent, asParent], csComposite) => {
  71. // const {corrComposite, targetComposite: asComposite} = parser.parse(csComposite, csParent, corrParent, asParent);
  72. // return [
  73. // csRegistry.createVersion(csParent, csComposite),
  74. // corrRegistry.createVersion(corrParent, corrComposite),
  75. // asRegistry.createVersion(asParent, asComposite),
  76. // ];
  77. // }, [csV0, corrV0, asV0]);
  78. // console.log("corrFinal primitives:", [...corrFinal.iterPrimitiveDeltas()])
  79. // });
  80. // });