1 (in-package #:cl-graph-test)
3 (defun build-single-diamond-graph (style)
7 (let ((g (make-container 'graph-container)))
8 (loop for (source . target) in '((a . b)
9 (b . c) (b . i) (c . d) (i . d)
11 (add-edge-between-vertexes g source target :edge-type style))
14 (defun build-three-way-graph ()
15 (let ((g (make-container 'graph-container)))
16 (loop for (source . target) in '((a . b)
17 (b . c) (b . d) (b . e)
18 (c . f) (d . f) (e . f)
20 (add-edge-between-vertexes g source target))
23 (deftestsuite test-api (cl-graph-test)
27 :documentation "case 214")
29 (let* ((g (build-single-diamond-graph :directed))
30 (b (find-vertex g 'b))
31 (target-edges (target-edges b))
32 (source-edges (source-edges b)))
33 (ensure (every (lambda (edge)
34 (eq b (source-vertex edge)))
35 source-edges) :report "sources")
36 (ensure (every (lambda (edge)
37 (eq b (target-vertex edge)))
38 target-edges) :report "targets")))