'{z 1}))
(is (= (gr/calc sel-2in1 '{a 1, b 0, c 1})
'{z 0})))
-;
-;(def ha-table '[[0 0] [0 0]
-; [1 0] [1 0]
-; [0 1] [1 0]
-; [1 1] [0 1]])
-;
-;(def gr-ha
-; (let [gr (gr/new-graph)
-; [gr a b] (gr/inputs gr 'a 'b)
-; [gr s cout] (gr/truth-table gr (partition 2 ha-table) [a b])
-; gr (gr/outputs gr [s 's] [cout 'cout])]
-; (gr/remove-unrefered-conns gr)))
-;
-;(deftest test-calc-ha
-; (is (= (gr/calc gr-ha '{a 0, b 0}) '{s 0, cout 0}))
-; (is (= (gr/calc gr-ha '{a 1, b 0}) '{s 1, cout 0}))
-; (is (= (gr/calc gr-ha '{a 0, b 1}) '{s 1, cout 0}))
-; (is (= (gr/calc gr-ha '{a 1, b 1}) '{s 0, cout 1}))
-; )
-;
-;(def fa-table '[[0 0 0] [0 0]
-; [1 0 0] [1 0]
-; [0 1 0] [1 0]
-; [1 1 0] [0 1]
-; [0 0 1] [1 0]
-; [1 0 1] [0 1]
-; [0 1 1] [0 1]
-; [1 1 1] [1 1]])
-;
-;(def gr-fa
-; (let [gr (gr/new-graph)
-; [gr a b cin] (gr/inputs gr 'a 'b 'cin)
-; [gr s cout] (gr/truth-table gr (partition 2 fa-table) [a b cin])
-; gr (gr/outputs gr [s 's] [cout 'cout])]
-; (gr/remove-unrefered-conns gr)))
-;
-;(deftest test-calc-fa
-; (is (= (gr/calc gr-fa '{a 0, b 0, cin 0}) '{s 0, cout 0}))
-; (is (= (gr/calc gr-fa '{a 1, b 0, cin 0}) '{s 1, cout 0}))
-; (is (= (gr/calc gr-fa '{a 0, b 1, cin 0}) '{s 1, cout 0}))
-; (is (= (gr/calc gr-fa '{a 1, b 1, cin 0}) '{s 0, cout 1}))
-; (is (= (gr/calc gr-fa '{a 0, b 0, cin 1}) '{s 1, cout 0}))
-; (is (= (gr/calc gr-fa '{a 1, b 0, cin 1}) '{s 0, cout 1}))
-; (is (= (gr/calc gr-fa '{a 0, b 1, cin 1}) '{s 0, cout 1}))
-; (is (= (gr/calc gr-fa '{a 1, b 1, cin 1}) '{s 1, cout 1}))
-;)
-;
+
+(def ha-table '[[0 0] [0 0]
+ [1 0] [1 0]
+ [0 1] [1 0]
+ [1 1] [0 1]])
+
+(def gr-ha
+ (let [gr (gr/new-graph)
+ [gr a b] (gr/inputs gr 'a 'b)
+ [gr s cout] (gr/truth-table gr (partition 2 ha-table) [a b])
+ gr (gr/outputs gr [s 's] [cout 'cout])]
+ (gr/remove-unrefered-conns gr)))
+
+(deftest test-calc-ha
+ (is (= (gr/calc gr-ha '{a 0, b 0}) '{s 0, cout 0}))
+ (is (= (gr/calc gr-ha '{a 1, b 0}) '{s 1, cout 0}))
+ (is (= (gr/calc gr-ha '{a 0, b 1}) '{s 1, cout 0}))
+ (is (= (gr/calc gr-ha '{a 1, b 1}) '{s 0, cout 1}))
+ )
+
+(def fa-table '[[0 0 0] [0 0]
+ [1 0 0] [1 0]
+ [0 1 0] [1 0]
+ [1 1 0] [0 1]
+ [0 0 1] [1 0]
+ [1 0 1] [0 1]
+ [0 1 1] [0 1]
+ [1 1 1] [1 1]])
+
+(def gr-fa
+ (let [gr (gr/new-graph)
+ [gr a b cin] (gr/inputs gr 'a 'b 'cin)
+ [gr s cout] (gr/truth-table gr (partition 2 fa-table) [a b cin])
+ gr (gr/outputs gr [s 's] [cout 'cout])]
+ (gr/remove-unrefered-conns gr)))
+
+(deftest test-calc-fa
+ (is (= (gr/calc gr-fa '{a 0, b 0, cin 0}) '{s 0, cout 0}))
+ (is (= (gr/calc gr-fa '{a 1, b 0, cin 0}) '{s 1, cout 0}))
+ (is (= (gr/calc gr-fa '{a 0, b 1, cin 0}) '{s 1, cout 0}))
+ (is (= (gr/calc gr-fa '{a 1, b 1, cin 0}) '{s 0, cout 1}))
+ (is (= (gr/calc gr-fa '{a 0, b 0, cin 1}) '{s 1, cout 0}))
+ (is (= (gr/calc gr-fa '{a 1, b 0, cin 1}) '{s 0, cout 1}))
+ (is (= (gr/calc gr-fa '{a 0, b 1, cin 1}) '{s 0, cout 1}))
+ (is (= (gr/calc gr-fa '{a 1, b 1, cin 1}) '{s 1, cout 1}))
+ )
+
;(deftest test-remove-nin-nodes
; (let [gr-fa (gr/remove-nin-nodes gr-fa)]
; (is (= (gr/calc gr-fa '{a 0, b 0, cin 0}) '{s 0, cout 0}))