[Added] GenericAnd/GenericOr tests
This commit is contained in:
@@ -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,)
|
||||
|
||||
Reference in New Issue
Block a user