示例#1
0
    def test_init(self):
        src_port1 = port.OutPort(str)
        dst_port1 = port.InPort(str)
        self.assertIsNotNone(chain.Chain(src_port1, dst_port1))
        self.assertIsNone(chain.Chain(dst_port1, src_port1))
        self.assertIsNone(chain.Chain(dst_port1, dst_port1))
        self.assertIsNone(chain.Chain(src_port1, src_port1))

        src_port2 = port.OutPort(int)
        src_port3 = port.OutPort(float)
        src_port4 = port.OutPort(bool)
        self.assertIsNone(chain.Chain(src_port2, dst_port1))
        self.assertIsNone(chain.Chain(src_port3, dst_port1))
        self.assertIsNone(chain.Chain(src_port4, dst_port1))

        dst_port2 = port.InPort(int)
        self.assertIsNotNone(chain.Chain(src_port2, dst_port2))
        self.assertIsNotNone(chain.Chain(src_port3, dst_port2))
        self.assertIsNotNone(chain.Chain(src_port4, dst_port2))

        dst_port3 = port.InPort(float)
        self.assertIsNotNone(chain.Chain(src_port2, dst_port3))
        self.assertIsNotNone(chain.Chain(src_port3, dst_port3))
        self.assertIsNotNone(chain.Chain(src_port4, dst_port3))

        dst_port4 = port.InPort(bool)
        self.assertIsNotNone(chain.Chain(src_port2, dst_port4))
        self.assertIsNotNone(chain.Chain(src_port3, dst_port4))
        self.assertIsNotNone(chain.Chain(src_port4, dst_port4))
示例#2
0
 def test_optional(self):
     in_port = port.InPort(int)
     in_optional_port = port.InPort(int, optional=True)
     self.assertIsNotNone(in_port)
     self.assertIsNotNone(in_optional_port)
     self.assertFalse(in_port.isOptional())
     self.assertTrue(in_optional_port.isOptional())
示例#3
0
    def test_send_and_receive2(self):
        src_port1 = port.OutPort(int)
        src_port2 = port.OutPort(int)
        dst_port = port.InPort(int)

        chan1 = chain.Chain(src_port1, dst_port)
        src_port1.activate()

        for i in range(5):
            self.assertTrue(src_port1.send(i))
            time.sleep(0.01)

        chan2 = chain.Chain(src_port2, dst_port)
        src_port1.terminate()
        src_port2.activate()

        for i in range(5):
            self.assertFalse(src_port1.send(i))
            self.assertTrue(src_port2.send(i + 5))
            time.sleep(0.01)

        self.assertEqual(dst_port.receive().value(), 5)
        self.assertEqual(dst_port.receive().value(), 6)
        self.assertEqual(dst_port.receive().value(), 7)
        self.assertEqual(dst_port.receive().value(), 8)
        self.assertEqual(dst_port.receive().value(), 9)
        self.assertTrue(chan2.empty())
        src_port2.terminate()
示例#4
0
    def test_send(self):
        src_port = port.OutPort(str)
        dst_port = port.InPort(str)
        chain.Chain(src_port, dst_port)
        src_port.activate()
        self.assertTrue(src_port.send("a"))

        self.assertFalse(src_port.send(1))
        self.assertFalse(src_port.send(True))
        self.assertFalse(src_port.send(1.2))
示例#5
0
    def test_connect(self):
        src_port1 = port.OutPort(str)
        dst_port1 = port.InPort(str)
        chan1 = chain.Chain(src_port1, dst_port1)
        self.assertIsNotNone(chan1)
        self.assertTrue(chan1.isConnected())

        src_port2 = port.OutPort(str)
        chan2 = chain.Chain(src_port2, dst_port1)
        self.assertIsNotNone(chan2)
        self.assertTrue(chan2.isConnected())
        self.assertFalse(chan1.isConnected())

        src_port3 = port.OutPort(int)
        chan3 = chain.Chain(src_port3, dst_port1)
        self.assertIsNone(chan3)
        self.assertTrue(chan2.isConnected())

        dst_port2 = port.InPort(bool)

        chan4 = chain.Chain(src_port3, dst_port2)
        self.assertIsNotNone(chan4)
        self.assertTrue(chan4.isConnected())

        src_port4 = port.OutPort(bool)

        chan5 = chain.Chain(src_port4, dst_port2)
        self.assertIsNotNone(chan5)
        self.assertTrue(chan5.isConnected())
        self.assertFalse(chan4.isConnected())

        dst_port3 = port.InPort(bool)
        chan6 = chain.Chain(src_port4, dst_port3)
        self.assertIsNotNone(chan6)
        self.assertTrue(chan6.isConnected())

        chan7 = chain.Chain(dst_port2, dst_port3)
        self.assertIsNone(chan7)
示例#6
0
    def test_dasPort(self):
        src_port1 = port.OutPort(dastype.DasType("dasTest.struct"))
        dst_port1 = port.InPort(dastype.DasType("dasTest.struct"))
        dst_port2 = port.InPort(dastype.DasType("dasTest.intType"))
        self.assertIsNotNone(src_port1)
        self.assertIsNotNone(dst_port1)
        self.assertIsNotNone(dst_port2)
        self.assertIsNotNone(chain.Chain(src_port1, dst_port1))
        self.assertIsNone(chain.Chain(src_port1, dst_port2))
        src_port1.activate()
        self.assertTrue(
            src_port1.send({
                "i": 1,
                "f": 1.0,
                "s": "string",
                "trash": "aa"
            }))
        p = dst_port1.receive()
        self.assertFalse(p.isEOP())
        self.assertEqual(p.value(), {"i": 1, "f": 1.0, "s": "string"})

        self.assertTrue(src_port1.match(dst_port1))
        self.assertFalse(src_port1.match(dst_port2))
示例#7
0
    def test_port_queue1(self):
        src_port1 = port.OutPort(int)
        dst_port = port.InPort(int)
        self.assertEqual(workerManager.WorkerManager.QueueCount(), 0)
        src_port1.activate()
        self.assertEqual(workerManager.WorkerManager.QueueCount(), 1)
        src_port1.terminate()
        self.assertEqual(workerManager.WorkerManager.QueueCount(), 0)

        chan1 = chain.Chain(src_port1, dst_port)
        src_port1.activate()
        dst_port.activate()
        self.assertEqual(workerManager.WorkerManager.QueueCount(), 3)
        src_port1.terminate()
        self.assertEqual(workerManager.WorkerManager.QueueCount(), 2)
        dst_port.receive()
        dst_port.terminate()
        self.assertEqual(workerManager.WorkerManager.QueueCount(), 0)
示例#8
0
    def test_send_and_receive(self):
        src_port = port.OutPort(int)
        dst_port = port.InPort(int)
        chan1 = chain.Chain(src_port, dst_port)
        src_port.activate()

        for i in range(5):
            self.assertTrue(src_port.send(i))
            time.sleep(0.01)
        pack1 = dst_port.receive()
        self.assertEqual(pack1.value(), 0)
        self.assertEqual(pack1.refCount(), 1)
        self.assertTrue(pack1.drop())

        self.assertEqual(dst_port.receive().value(), 1)
        self.assertEqual(dst_port.receive().value(), 2)
        self.assertEqual(dst_port.receive().value(), 3)
        self.assertEqual(dst_port.receive().value(), 4)
        self.assertTrue(chan1.empty())
示例#9
0
    def test_packetHistory(self):
        src_port = port.OutPort(int)
        dst_port = port.InPort(int)

        chan = chain.Chain(src_port, dst_port)
        src_port.activate()
        dst_port.activate()
        src_port.send(1)
        time.sleep(0.1)
        src_port.send(2)
        time.sleep(0.1)
        dst_port.receive()
        time.sleep(0.1)
        src_port.terminate()
        dst_port.terminate()

        self.assertEqual(src_port.packetHistory(), [1, 2])
        self.assertEqual(dst_port.packetHistory(), [1])
        self.assertEqual(workerManager.WorkerManager.QueueCount(), 0)
示例#10
0
 def test_direction(self):
     in_port = port.InPort(str)
     out_port = port.OutPort(str)
示例#11
0
 def test_receive(self):
     in_port = port.InPort(str)
     self.assertTrue(in_port.receive().isEOP())
示例#12
0
 def test_init(self):
     in_port = port.InPort(str)
     out_port = port.OutPort(str)
     self.assertIsNotNone(in_port)
     self.assertIsNotNone(out_port)