26 lines
1 KiB
Clojure
26 lines
1 KiB
Clojure
(ns loom.test.label
|
|
(:require [loom.graph :as g]
|
|
[loom.label :as lbl]
|
|
#?@(:clj [[clojure.test :refer (deftest is)]]))
|
|
#?@(:cljs [(:require-macros [cljs.test :refer (deftest is)])]))
|
|
|
|
(deftest labeled-graph-test
|
|
(let [g (g/digraph [1 2] [2 3] [2 4] [3 5] [4 5])
|
|
lg1 (-> g
|
|
(lbl/add-label 1 "node label")
|
|
(lbl/add-label 2 3 "edge label"))
|
|
lg2 (-> (g/digraph)
|
|
(lbl/add-labeled-nodes
|
|
1 "node label 1"
|
|
2 "node label 2")
|
|
(lbl/add-labeled-edges
|
|
[1 2] "edge label 1"
|
|
[2 3] "edge label 2"))]
|
|
(is (= "node label" (lbl/label lg1 1)))
|
|
(is (= "edge label" (lbl/label lg1 2 3)))
|
|
(is (= #{1 2 3} (set (g/nodes lg2))))
|
|
(is (= #{[1 2] [2 3]} (set (g/edges lg2))))
|
|
(is (= "node label 1" (lbl/label lg2 1)))
|
|
(is (= "node label 2" (lbl/label lg2 2)))
|
|
(is (= "edge label 1" (lbl/label lg2 1 2)))
|
|
(is (= "edge label 2" (lbl/label lg2 2 3)))))
|