From 42bd3e2094b36cb4f9f7d98d74dd189ee86f7378 Mon Sep 17 00:00:00 2001
From: Oscar Gustafsson <oscar.gustafsson@gmail.com>
Date: Wed, 25 Jan 2023 17:22:17 +0100
Subject: [PATCH] Add first test for operation split

---
 b_asic/operation.py    | 2 +-
 test/test_operation.py | 9 +++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/b_asic/operation.py b/b_asic/operation.py
index f26ff285..11cd476b 100644
--- a/b_asic/operation.py
+++ b/b_asic/operation.py
@@ -735,7 +735,7 @@ class AbstractOperation(Operation, AbstractGraphComponent):
 
         try:
             result = self.evaluate(*([Input()] * self.input_count))
-            if isinstance(result, collections.Sequence) and all(
+            if isinstance(result, collections.abc.Sequence) and all(
                 isinstance(e, Operation) for e in result
             ):
                 return result
diff --git a/test/test_operation.py b/test/test_operation.py
index a92f07ce..fa120571 100644
--- a/test/test_operation.py
+++ b/test/test_operation.py
@@ -310,3 +310,12 @@ class TestIOCoordinates:
         i_c, o_c = bfly.get_io_coordinates()
         assert i_c == [[2, 0.25], [3, 0.75]]
         assert o_c == [[5, 0.25], [10, 0.75]]
+
+
+class TestSplit:
+    def test_simple_case(self):
+        bfly = Butterfly()
+        split = bfly.split()
+        assert len(split) == 2
+        assert sum(isinstance(op, Addition) for op in split) == 1
+        assert sum(isinstance(op, Subtraction) for op in split) == 1
-- 
GitLab