babashka/test-resources/lib_tests/loom/test/label.cljc

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)))))