def test_in_fifo_empty(self): self.in_fifo = tree_sim.FIFO(3) self.out_fifo = tree_sim.FIFO(3) self.coupler = tree_sim.Coupler(4, self.in_fifo, self.out_fifo) self.coupler.simulate() self.coupler.simulate() self.coupler.simulate() self.assertTrue(self.coupler.internal_fifo.empty()) self.assertTrue(self.out_fifo.empty())
def test_in_fifo_emptied(self): self.in_fifo = tree_sim.FIFO(3) self.out_fifo = tree_sim.FIFO(3) self.coupler = tree_sim.Coupler(4, self.in_fifo, self.out_fifo) self.in_fifo.push(tree_sim.Tuple([1, 2, 3, 4])) self.in_fifo.push(tree_sim.Tuple([5, 6, 7, 8])) self.coupler.simulate() self.assertEqual(self.in_fifo.read().data, [5, 6, 7, 8]) self.coupler.simulate() self.assertTrue(self.in_fifo.empty())
def test_second_input_zero(self): self.in_fifo = tree_sim.FIFO(3) self.out_fifo = tree_sim.FIFO(3) self.coupler = tree_sim.Coupler(4, self.in_fifo, self.out_fifo) self.in_fifo.push(tree_sim.Tuple([1, 2, 3, 4])) self.in_fifo.push(tree_sim.Tuple([0, 0, 0, 0])) self.coupler.simulate() self.coupler.simulate() self.assertFalse(self.out_fifo.empty()) self.assertEqual(self.out_fifo.pop().data, [1, 2, 3, 4, 0, 0, 0, 0]) self.assertTrue(self.coupler.internal_fifo.empty())
def test_nominal_behavior(self): self.in_fifo = tree_sim.FIFO(3) self.out_fifo = tree_sim.FIFO(3) self.coupler = tree_sim.Coupler(4, self.in_fifo, self.out_fifo) self.in_fifo.push(tree_sim.Tuple([1, 2, 3, 4])) self.coupler.simulate() self.coupler.simulate() self.assertTrue(self.out_fifo.empty()) self.in_fifo.push(tree_sim.Tuple([5, 6, 7, 8])) self.coupler.simulate() self.assertFalse(self.out_fifo.empty()) self.assertEqual([1, 2, 3, 4, 5, 6, 7, 8], self.out_fifo.pop().data) self.coupler.simulate() self.assertTrue(self.out_fifo.empty())
def test_out_fifo_full(self): self.in_fifo = tree_sim.FIFO(3) self.out_fifo = tree_sim.FIFO(3) self.coupler = tree_sim.Coupler(4, self.in_fifo, self.out_fifo) self.in_fifo.push(tree_sim.Tuple([1, 2, 3, 4])) self.in_fifo.push(tree_sim.Tuple([5, 6, 7, 8])) self.in_fifo.push(tree_sim.Tuple([9, 10, 11, 12])) self.out_fifo.push(tree_sim.Tuple([5, 6, 7, 8])) self.out_fifo.push(tree_sim.Tuple([5, 6, 7, 8])) self.out_fifo.push(tree_sim.Tuple([5, 6, 7, 8])) self.coupler.simulate() self.coupler.simulate() self.coupler.simulate() self.assertTrue(self.coupler.internal_fifo.pop().data, [1, 2, 3, 4]) self.assertTrue(self.coupler.internal_fifo.pop().data, [5, 6, 7, 8])
def setUp(self): self.in_fifo = tree_sim.FIFO(3) self.out_fifo = tree_sim.FIFO(3) self.coupler = tree_sim.Coupler(4, self.in_fifo, self.out_fifo)