[Added] GenericAnd/GenericOr tests

This commit is contained in:
Salvador E. Tropea
2025-11-28 11:04:10 -03:00
parent 9976e80394
commit f137c46aae
+36
View File
@@ -7,6 +7,8 @@ from src.basic_data_handling.boolean_nodes import (
BooleanXor,
BooleanNand,
BooleanNor,
GenericAnd,
GenericOr,
)
@@ -54,3 +56,37 @@ def test_boolean_nor():
assert node.nor_operation(True, False) == (False,)
assert node.nor_operation(False, True) == (False,)
assert node.nor_operation(False, False) == (True,)
def test_generic_or():
node = GenericOr()
# 2xOR
assert node.or_operation(False, item_0=True, item_1=True) == (True,)
assert node.or_operation(False, item_0=True, item_1=False) == (True,)
assert node.or_operation(False, item_0=False, item_1=True) == (True,)
assert node.or_operation(False, item_0=False, item_1=False) == (False,)
# 2xNOR
assert node.or_operation(True, item_0=True, item_1=True) == (False,)
assert node.or_operation(True, item_0=True, item_1=False) == (False,)
assert node.or_operation(True, item_0=False, item_1=True) == (False,)
assert node.or_operation(True, item_0=False, item_1=False) == (True,)
# A couple of 3xOR cases
assert node.or_operation(False, item_0=False, item_1=False, item_2=True) == (True,)
assert node.or_operation(False, item_0=False, item_1=False, item_2=False) == (False,)
def test_generic_and():
node = GenericAnd()
# 2xAND
assert node.and_operation(False, item_0=True, item_1=True) == (True,)
assert node.and_operation(False, item_0=True, item_1=False) == (False,)
assert node.and_operation(False, item_0=False, item_1=True) == (False,)
assert node.and_operation(False, item_0=False, item_1=False) == (False,)
# 2xNAND
assert node.and_operation(True, item_0=True, item_1=True) == (False,)
assert node.and_operation(True, item_0=True, item_1=False) == (True,)
assert node.and_operation(True, item_0=False, item_1=True) == (True,)
assert node.and_operation(True, item_0=False, item_1=False) == (True,)
# A couple of 3xAND cases
assert node.and_operation(False, item_0=True, item_1=True, item_2=True) == (True,)
assert node.and_operation(False, item_0=True, item_1=False, item_2=True) == (False,)