rountangle_parser.test.ts 4.1 KB

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