[e-9 [n-8 0] [n-10 0]]
]})))
+(deftest test-random-graph
+ (is (= (gr/random-graph-pre (iterate inc 0) 2 1 2)
+ {:next-id 10
+ :nodes '[[n-0 in 0]
+ [n-1 in 1]
+ [n-4 and2 ] ; n-node -> 2, random -> 0 -> and2
+ [n-7 and2 ] ; n-node -> 1, random -> 3 -> and2
+ [n-9 out 0]
+ ]
+ :edges '[[e-2 [n-1 0] [n-4 0]] ; n-node -> 2, random -> 1 -> n-1
+ [e-3 [n-0 0] [n-4 1]] ; n-node -> 2, random -> 2 -> n-0
+ [e-5 [n-1 0] [n-7 0]] ; n-node -> 1, random -> 4 -> n-1
+ [e-6 [n-4 0] [n-7 1]] ; n-node -> 1, random -> 5 -> n-4
+ [e-8 [n-4 0] [n-9 0]] ; n-node -> 0, random -> 6 -> n-4
+ ]}))
+ (is (= (gr/random-graph (iterate inc 0) 2 1 2)
+ {:next-id 10
+ :nodes '[[n-0 in 0]
+ [n-1 in 1]
+ [n-4 and2 ] ; n-node -> 2, random -> 0 -> and2
+ [n-9 out 0]
+ ]
+ :edges '[[e-2 [n-1 0] [n-4 0]] ; n-node -> 2, random -> 1 -> n-1
+ [e-3 [n-0 0] [n-4 1]] ; n-node -> 2, random -> 2 -> n-0
+ [e-8 [n-4 0] [n-9 0]] ; n-node -> 0, random -> 6 -> n-4
+ ]})))
+
(def gr-unrefered-conns1
(struct gr/graph 12
(is (= (gr/calc gr-fa '{a 1, b 1, cin 1}) '{s 1, cout 1}))
)
+(deftest test-calc-all
+ (is (= (gr/calc-all sel-2in1)
+ '[[0] ; [0 0 0]
+ [1] ; [1 0 0]
+ [0] ; [0 1 0]
+ [1] ; [1 1 0]
+ [0] ; [0 0 1]
+ [0] ; [1 0 1]
+ [1] ; [0 1 1]
+ [1] ; [1 1 1]
+ ]))
+ (is (= (gr/calc-all gr-ha)
+ ; cout s
+ '[[0 0] ; [0 0]
+ [0 1] ; [1 0]
+ [0 1] ; [0 1]
+ [1 0] ; [1 1]
+ ]))
+ (is (= (gr/calc-all gr-fa)
+ ; cout s
+ '[[0 0] ; [0 0 0]
+ [0 1] ; [1 0 0]
+ [0 1] ; [0 1 0]
+ [1 0] ; [1 1 0]
+ [0 1] ; [0 0 1]
+ [1 0] ; [1 0 1]
+ [1 0] ; [0 1 1]
+ [1 1] ; [1 1 1]
+ ])))
+
+
; ?bn10__
; ?bt1 --------------------| \
; | |----+