2 # Copyright (C) 2019 EfficiOS Inc.
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; only version 2
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 from bt2
import connection
as bt2_connection
22 from bt2
import port
as bt2_port
25 class ConnectionTestCase(unittest
.TestCase
):
26 def test_create(self
):
27 class MyIter(bt2
._UserMessageIterator
):
31 class MySource(bt2
._UserSourceComponent
, message_iterator_class
=MyIter
):
32 def __init__(self
, config
, params
, obj
):
33 self
._add
_output
_port
('out')
35 class MySink(bt2
._UserSinkComponent
):
36 def __init__(self
, config
, params
, obj
):
37 self
._add
_input
_port
('in')
39 def _user_consume(self
):
43 src
= graph
.add_component(MySource
, 'src')
44 sink
= graph
.add_component(MySink
, 'sink')
45 conn
= graph
.connect_ports(src
.output_ports
['out'], sink
.input_ports
['in'])
46 self
.assertIs(type(conn
), bt2_connection
._ConnectionConst
)
48 def test_downstream_port(self
):
49 class MyIter(bt2
._UserMessageIterator
):
53 class MySource(bt2
._UserSourceComponent
, message_iterator_class
=MyIter
):
54 def __init__(self
, config
, params
, obj
):
55 self
._add
_output
_port
('out')
57 class MySink(bt2
._UserSinkComponent
):
58 def __init__(self
, config
, params
, obj
):
59 self
._add
_input
_port
('in')
61 def _user_consume(self
):
65 src
= graph
.add_component(MySource
, 'src')
66 sink
= graph
.add_component(MySink
, 'sink')
67 conn
= graph
.connect_ports(src
.output_ports
['out'], sink
.input_ports
['in'])
68 self
.assertEqual(conn
.downstream_port
.addr
, sink
.input_ports
['in'].addr
)
69 self
.assertIs(type(conn
), bt2_connection
._ConnectionConst
)
70 self
.assertIs(type(conn
.downstream_port
), bt2_port
._InputPortConst
)
72 def test_upstream_port(self
):
73 class MyIter(bt2
._UserMessageIterator
):
77 class MySource(bt2
._UserSourceComponent
, message_iterator_class
=MyIter
):
78 def __init__(self
, config
, params
, obj
):
79 self
._add
_output
_port
('out')
81 class MySink(bt2
._UserSinkComponent
):
82 def __init__(self
, config
, params
, obj
):
83 self
._add
_input
_port
('in')
85 def _user_consume(self
):
89 src
= graph
.add_component(MySource
, 'src')
90 sink
= graph
.add_component(MySink
, 'sink')
91 conn
= graph
.connect_ports(src
.output_ports
['out'], sink
.input_ports
['in'])
92 self
.assertEqual(conn
.upstream_port
.addr
, src
.output_ports
['out'].addr
)
93 self
.assertIs(type(conn
.upstream_port
), bt2_port
._OutputPortConst
)
96 if __name__
== '__main__':
This page took 0.031691 seconds and 4 git commands to generate.