projects
/
cl-graph.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix for rootp from Willem Rein Oudshoorn (thank you)
[cl-graph.git]
/
unit-tests
/
test-graph.lisp
diff --git
a/unit-tests/test-graph.lisp
b/unit-tests/test-graph.lisp
index
aae24be
..
c55ee29
100644
(file)
--- a/
unit-tests/test-graph.lisp
+++ b/
unit-tests/test-graph.lisp
@@
-16,17
+16,17
@@
(addtest (test-test-vertex)
test-1
(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)
(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))
(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)
;;; ---------------------------------------------------------------------------
(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))
: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))))
(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)
;;; ---------------------------------------------------------------------------
(addtest (test-basic-graph-properties)
@@
-143,8
+154,6
@@
a - b - e
(deftestsuite test-change-vertex-value (test-basic-graph-properties) ())
(deftestsuite test-change-vertex-value (test-basic-graph-properties) ())
-;;; ---------------------------------------------------------------------------
-
(addtest (test-change-vertex-value)
test-undirected
(let ((b (find-vertex graph-undirected 'b)))
(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))))
(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))))
+
+
+
+