def test_wait_for_all_signals(self): sender_1 = ReceiveAllNeuron(self.simple_activation()) sender_2 = ReceiveAllNeuron(self.simple_activation()) receiver = ReceiveAllNeuron(self.simple_activation()) sender_1.connect_to(receiver) sender_2.connect_to(receiver) sender_1.receive_signal(2.0) self.assertEqual(receiver.output, 0.0) self.assertFalse(receiver.allSignalsReceived()) sender_2.receive_signal(3.0) self.assertEqual(receiver.output, 5.0) self.assertTrue(receiver.allSignalsReceived()) sender_1.reset() sender_2.reset() receiver.reset() self.assertEqual(sender_1.output, 0.0) self.assertEqual(sender_2.output, 0.0) self.assertEqual(receiver.output, 0.0) self.assertFalse(receiver.allSignalsReceived())