1 (in-package #:cl-graph-test)
3 ;;; ---------------------------------------------------------------------------
5 (lift:deftestsuite test-vertex-triangle-count ()
6 ((g (make-container 'graph-container))))
8 (lift:deftestsuite test-vertex-triangle-count-1 (test-vertex-triangle-count)
11 (loop for v in '(a b c d e f g h) do (add-vertex g v))
12 (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
13 (add-edge-between-vertexes g s d))))
15 (lift:addtest (test-vertex-triangle-count-1)
16 (lift:ensure-same (vertex-triangle-count (find-vertex g 'a)) 1 :test '=))
19 (lift:addtest (test-vertex-triangle-count-1)
20 (lift:ensure-same (vertex-triangle-count (find-vertex g 'd)) 2 :test '=))
22 (lift:addtest (test-vertex-triangle-count-1)
23 (lift:ensure-same (vertex-triangle-count (find-vertex g 'h)) 0 :test '=))
25 (lift:deftestsuite test-vertex-triangle-count-2 (test-vertex-triangle-count)
28 (loop for v in '(a b c d e) do (add-vertex g v))
29 (loop for (s d) in '((a b) (b c) (a c) (c d) (c e)) do
30 (add-edge-between-vertexes g s d))))
32 (lift:addtest (test-vertex-triangle-count-2)
33 (lift:ensure-same (vertex-triangle-count (find-vertex g 'c)) 1 :test '=)
34 (lift:ensure-same (vertex-triangle-count (find-vertex g 'd)) 0 :test '=))
36 (lift:addtest (test-vertex-triangle-count-2)
37 (lift:ensure-same (average-local-clustering-coefficient g)
38 (float (/ 13 30)) :test 'samep))