-(in-package metabang.graph)
+(in-package #:cl-graph-test)
#|
(let ((g (make-container 'graph-container)))
(inspect g)))
|#
-(deftestsuite test-graph () ())
+(deftestsuite cl-graph-test () ())
-
-(deftestsuite test-test-vertex () ())
+(deftestsuite test-test-vertex (cl-graph-test) ())
(addtest (test-test-vertex)
test-1
- (bind ((x (float 2.1d0))
- (y (float 2.1d0))
- (g (make-container 'graph-container)))
+ (metatilities:bind ((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
+ test-2
(bind ((x (float 2.1d0))
(y (float 2.1d0))
(g (make-container 'graph-container :vertex-test #'=)))
;;; should do this for each _kind_ of graph
;;; ---------------------------------------------------------------------------
-(deftestsuite test-basic-graph-properties (test-graph)
- ((graph-undirected (make-container 'graph-container :default-edge-type :undirected))
- (graph-directed (make-container 'graph-container :default-edge-type :directed)))
+(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)))
:setup ((loop for v in '(a b c d e) do
(add-vertex graph-undirected v)
(add-vertex graph-directed v))
(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)
(delete-edge-between-vertexes graph-directed 'a 'b)
(ensure-same (size (graph-edges graph-directed)) 3))
-;;; ---------------------------------------------------------------------------
+#|
-(deftestsuite test-graph-traversal (test-graph)
+(deftestsuite cl-graph-test-traversal (cl-graph-test)
((g (make-container 'graph-container)))
:setup (loop for (src dst) in '((a b) (a c) (a d) (b e)
(b f) (d g) (d h) (h i)
(h j)) do
(add-edge-between-vertexes g src dst :edge-type :directed)))
-;;; ---------------------------------------------------------------------------
-
#|
a - b - e
|#
-(addtest (test-graph-traversal)
+(addtest (cl-graph-test-traversal)
(let ((result nil))
(traverse-elements
g :depth (lambda (v) (push (element v) result)))
(ensure-same (reverse result)
'(e f b c g i j h d a) :test #'equal)))
-;;; ---------------------------------------------------------------------------
-
-(addtest (test-graph-traversal)
+(addtest (cl-graph-test-traversal)
(let ((result nil))
(traverse-elements
g :breadth (lambda (v) (push (element v) result)))
(ensure-same (reverse result)
'(a b c d e f g h i j) :test #'equal)))
+|#
;;; ---------------------------------------------------------------------------
;;; test-replace-vertex