class Neuron_INVERT(unittest.TestCase): """Tests the Neuron class by building a INVERT logic gate Neuron""" def setUp(self): """Prepares a INVERT-type Neuron.""" self.INVERT_Neuron = Neuron([-12], Sigmoid().activate, bias=6) def test_INVERT_high(self): """Tests a scenario in which a Neuron - designed to be an INVERT port - returns a output as close as possible to high (1)""" outcome = self.INVERT_Neuron.activate([0]) self.assertAlmostEqual(outcome, 1, 2) def test_INVERT_low(self): """Tests a scenario in which a Neuron - designed to be an INVERT port - returns a output as close as possible to low (0)""" outcome = self.INVERT_Neuron.activate([1]) self.assertAlmostEqual(outcome, 0, 2)
class Neuron_NOR(unittest.TestCase): """Tests the Neuron class by building a NOR logic gate Neuron""" def setUp(self): """Prepares a NOR-type Neuron""" self.NOR_Neuron = Neuron([-12, -12, -12], Sigmoid().activate, bias=6) def test_NOR_high(self): """Tests a scenario in which a Neuron - designed to be an NOR port - returns a output as close as possible to high (1)""" outcome = self.NOR_Neuron.activate([0, 0, 0]) self.assertAlmostEqual(outcome, 1, 2) def test_NOR_low(self): """Tests some scenarios in which a Neuron - designed to be an NOR port - returns a output as close as possible to low (0)""" outcome = self.NOR_Neuron.activate([1, 0, 0]) self.assertAlmostEqual(outcome, 0, 2) outcome = self.NOR_Neuron.activate([0, 1, 0]) self.assertAlmostEqual(outcome, 0, 2) outcome = self.NOR_Neuron.activate([1, 1, 0]) self.assertAlmostEqual(outcome, 0, 2) outcome = self.NOR_Neuron.activate([0, 0, 1]) self.assertAlmostEqual(outcome, 0, 2) outcome = self.NOR_Neuron.activate([1, 0, 1]) self.assertAlmostEqual(outcome, 0, 2) outcome = self.NOR_Neuron.activate([0, 1, 1]) self.assertAlmostEqual(outcome, 0, 2)
from classes.Activation import Sigmoid from classes.Neuron import Neuron AND_Neuron_wrong = Neuron([0.5, 0.5], Sigmoid().activate, bias= -1) print("Should be high (1):") outcome = AND_Neuron_wrong.activate([1, 1]) print("Input [1,1] gives {}".format(outcome)) print("") print("Should be low (0):") outcome = AND_Neuron_wrong.activate([1, 0]) print("Input [1,0] gives {}".format(outcome)) outcome = AND_Neuron_wrong.activate([0, 1]) print("Input [0,1] gives {}".format(outcome)) outcome = AND_Neuron_wrong.activate([0, 0]) print("Input [0,0] gives {}".format(outcome))
from classes.Activation import Sigmoid from classes.Neuron import Neuron INVERTER_Neuron_wrong = Neuron([-1],Sigmoid().activate) print("Should be high (1):") outcome = INVERTER_Neuron_wrong.activate([0]) print("Input [0] gives {}".format(outcome)) print("") print("Should be low (0):") outcome = INVERTER_Neuron_wrong.activate([1]) print("Input [1] gives {}".format(outcome))