X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=unit-tests%2Ftest-graph-metrics.lisp;fp=unit-tests%2Ftest-graph-metrics.lisp;h=8071a087f7c80efd38f4524913974625c9a65c6d;hb=900a931f109598249ebc33bea50b65abf998ed0b;hp=0000000000000000000000000000000000000000;hpb=5282d117ab0e8b7080bca9683e270f0d2a8f4d5c;p=cl-graph.git diff --git a/unit-tests/test-graph-metrics.lisp b/unit-tests/test-graph-metrics.lisp new file mode 100644 index 0000000..8071a08 --- /dev/null +++ b/unit-tests/test-graph-metrics.lisp @@ -0,0 +1,38 @@ +(in-package metabang.graph) + +;;; --------------------------------------------------------------------------- + +(lift:deftestsuite test-vertex-triangle-count () + ((g (make-container 'graph-container)))) + +(lift:deftestsuite test-vertex-triangle-count-1 (test-vertex-triangle-count) + () + (:setup + (loop for v in '(a b c d e f g h) do (add-vertex g v)) + (loop for (s d) in '((a b) (b c) (a c) (b d) (d e) (d f) (d g) (e f) (f g) (g h)) do + (add-edge-between-vertexes g s d)))) + +(lift:addtest (test-vertex-triangle-count-1) + (lift:ensure-same (vertex-triangle-count (find-vertex g 'a)) 1 :test '=)) + + +(lift:addtest (test-vertex-triangle-count-1) + (lift:ensure-same (vertex-triangle-count (find-vertex g 'd)) 2 :test '=)) + +(lift:addtest (test-vertex-triangle-count-1) + (lift:ensure-same (vertex-triangle-count (find-vertex g 'h)) 0 :test '=)) + +(lift:deftestsuite test-vertex-triangle-count-2 (test-vertex-triangle-count) + () + (:setup + (loop for v in '(a b c d e) do (add-vertex g v)) + (loop for (s d) in '((a b) (b c) (a c) (c d) (c e)) do + (add-edge-between-vertexes g s d)))) + +(lift:addtest (test-vertex-triangle-count-2) + (lift:ensure-same (vertex-triangle-count (find-vertex g 'c)) 1 :test '=) + (lift:ensure-same (vertex-triangle-count (find-vertex g 'd)) 0 :test '=)) + +(lift:addtest (test-vertex-triangle-count-2) + (lift:ensure-same (average-local-clustering-coefficient g) + (float (/ 13 30)) :test 'samep)) \ No newline at end of file