X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=unit-tests%2Ftest-graph.lisp;h=c55ee292a087b0599eae575657a7da777ab7c01e;hb=dacf832a9595116c4a3384232d785311cd1ec811;hp=aae24bef4b9a6d1e53e52597850cfc7ad75165c8;hpb=09ba252fcab440337424122782e305db8f585e83;p=cl-graph.git diff --git a/unit-tests/test-graph.lisp b/unit-tests/test-graph.lisp index aae24be..c55ee29 100644 --- a/unit-tests/test-graph.lisp +++ b/unit-tests/test-graph.lisp @@ -16,17 +16,17 @@ (addtest (test-test-vertex) test-1 - (metatilities:bind ((x (float 2.1d0)) - (y (float 2.1d0)) - (g (make-container 'graph-container))) + (let ((x (float 2.1d0)) + (y (float 2.1d0)) + (g (make-container 'graph-container))) (add-vertex g (+ x y)) (add-vertex g (+ x y)) (ensure-same (size g) 2))) (addtest (test-test-vertex) - test-1 - (bind ((x (float 2.1d0)) + test-2 + (let ((x (float 2.1d0)) (y (float 2.1d0)) (g (make-container 'graph-container :vertex-test #'=))) (add-vertex g (+ x y)) @@ -40,8 +40,10 @@ ;;; --------------------------------------------------------------------------- (deftestsuite test-basic-graph-properties (cl-graph-test) - ((graph-undirected (make-container 'graph-container :default-edge-type :undirected)) - (graph-directed (make-container 'graph-container :default-edge-type :directed))) + ((graph-undirected (make-container 'graph-container + :default-edge-type :undirected)) + (graph-directed (make-container 'graph-container + :default-edge-type :directed))) :setup ((loop for v in '(a b c d e) do (add-vertex graph-undirected v) (add-vertex graph-directed v)) @@ -49,6 +51,15 @@ (add-edge-between-vertexes graph-undirected v1 v2) (add-edge-between-vertexes graph-directed v1 v2)))) +#+(or) +(let ((g (make-container 'graph-container + :default-edge-type :directed))) + (loop for v in '(a b c d e) do + (add-vertex g v)) + (loop for (v1 . v2) in '((a . b) (a . c) (b . d) (c . e)) do + (add-edge-between-vertexes g v1 v2)) + g) + ;;; --------------------------------------------------------------------------- (addtest (test-basic-graph-properties) @@ -143,8 +154,6 @@ a - b - e (deftestsuite test-change-vertex-value (test-basic-graph-properties) ()) -;;; --------------------------------------------------------------------------- - (addtest (test-change-vertex-value) test-undirected (let ((b (find-vertex graph-undirected 'b))) @@ -155,9 +164,31 @@ a - b - e (ensure (find-edge-between-vertexes graph-undirected 'a 'x)) (ensure (find-edge-between-vertexes graph-undirected 'x 'd)))) +;;; +(deftestsuite test-rootp (cl-graph-test) + ((g (make-container 'graph-container + :default-edge-type :directed))) + (:setup + (loop for (v1 . v2) in '((a . b) (a . c) (b . d) (c . e)) do + (add-edge-between-vertexes g v1 v2)))) -;;; --------------------------------------------------------------------------- -;;; test-replace-edge -;;; --------------------------------------------------------------------------- +(addtest (test-rootp) + directed-edges + (ensure (directed-edge-p (first-item (graph-edges g))))) +(addtest(test-rootp) + test-source-vertex + (ensure (rootp (find-vertex g 'a)))) + +(addtest(test-rootp) + test-sink-vertex + (ensure-null (rootp (find-vertex g 'e)))) + +(addtest(test-rootp) + test-middle-vertex + (ensure-null (rootp (find-vertex g 'b)))) + + + +