Mercurial > code > home > repos > streamed-graph
annotate src/layout/rdf_value.test.ts @ 108:5e6840229a05
rewrite freeStatements rendering to put more planning in layout
author | drewp@bigasterisk.com |
---|---|
date | Fri, 18 Mar 2022 11:57:38 -0700 |
parents | |
children | 8715633f5213 |
rev | line source |
---|---|
108
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
1 import Immutable from "immutable"; |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
2 import { DataFactory, NamedNode, Term } from "n3"; |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
3 import { EX } from "./namespaces"; |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
4 import { uniqueSortedTerms } from "./rdf_value"; |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
5 const { namedNode, literal } = DataFactory; |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
6 describe("Immutable.Set", () => { |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
7 it("contains", () => { |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
8 const s = Immutable.Set([EX("e1")]); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
9 expect(s.contains(EX("e1"))).toBeTruthy(); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
10 expect(s.contains(EX("e2"))).toBeFalsy(); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
11 }); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
12 }); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
13 |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
14 const uri1 = namedNode("http://example.com/1"); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
15 const uri2 = namedNode("http://example.com/2"); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
16 const lit1 = literal("lit1"); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
17 const lit2 = literal("lit2"); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
18 const lit3 = literal("lit2", namedNode("#othertype")); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
19 const lit4 = literal("http://example.com/1"); // sic literal (that looks like a URI) |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
20 |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
21 describe("uniqueSortedTerms", () => { |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
22 it("takes Term arrays", () => { |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
23 const actual = uniqueSortedTerms([lit1] as Term[]); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
24 expect(actual).toEqual([lit1]); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
25 }); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
26 it("takes NamedNode arrays", () => { |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
27 const actual = uniqueSortedTerms([uri1] as NamedNode[]); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
28 expect(actual).toEqual([uri1]); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
29 }); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
30 it("dedups URIs", () => { |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
31 expect(uniqueSortedTerms([uri1, uri1, uri2])).toEqual([uri1, uri2]); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
32 }); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
33 it("sorts URIs", () => { |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
34 expect(uniqueSortedTerms([uri2, uri1])).toEqual([uri1, uri2]); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
35 }); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
36 it("dedups literals", () => { |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
37 expect(uniqueSortedTerms([lit1, lit2, lit2, lit3, lit3])).toEqual([ |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
38 lit1, |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
39 lit2, |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
40 lit3, |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
41 ]); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
42 }); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
43 it("sorts literals", () => { |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
44 expect(uniqueSortedTerms([lit3, lit2, lit1])).toEqual([lit1, lit2, lit3]); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
45 }); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
46 it("doesn't confuse literal URI strings", () => { |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
47 expect(uniqueSortedTerms([uri1, lit4])).toEqual([lit4, uri1]); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
48 }); |
5e6840229a05
rewrite freeStatements rendering to put more planning in layout
drewp@bigasterisk.com
parents:
diff
changeset
|
49 }); |