+#
+# Copyright (C) 2019 EfficiOS Inc.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; only version 2
+# of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+
import unittest
import bt2
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
comp = self._create_comp(MySink)
self.assertEqual(len(comp.input_ports), 1)
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
self._create_comp(MySink)
def test_user_src_output_ports_getitem_invalid_key(self):
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
self._create_comp(MySink)
def test_user_src_output_ports_len(self):
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
self._create_comp(MySink)
def test_user_src_output_ports_iter(self):
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
self._create_comp(MySink)
def test_gen_src_output_ports_getitem(self):
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
comp = self._create_comp(MySink)
self.assertEqual(port3.addr, comp.input_ports['insert'].addr)
self.assertEqual(port2.addr, comp.input_ports['print'].addr)
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
comp = self._create_comp(MySink)
with self.assertRaises(KeyError):
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
comp = self._create_comp(MySink)
self.assertEqual(len(comp.input_ports), 3)
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
comp = self._create_comp(MySink)
ports = []
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
comp = self._create_comp(MySink)
self.assertEqual(comp.input_ports['clear'].name, 'clear')
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
comp = self._create_comp(MySink)
self.assertIsNone(comp.input_ports['clear'].connection)
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
comp = self._create_comp(MySink)
self.assertFalse(comp.input_ports['clear'].is_connected)
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
self._create_comp(MySink)
def test_self_connection_none(self):
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
self._create_comp(MySink)
def test_self_is_connected_false(self):
def _consume(self):
pass
+ def _graph_is_configured(self):
+ pass
+
self._create_comp(MySink)
+
+ def test_source_self_port_user_data(self):
+ class MyIter(bt2._UserMessageIterator):
+ def __next__(self):
+ raise bt2.Stop
+
+ class MySource(bt2._UserFilterComponent,
+ message_iterator_class=MyIter):
+ def __init__(comp_self, params):
+ nonlocal user_datas
+
+ p = comp_self._add_output_port('port1')
+ user_datas.append(p.user_data)
+ p = comp_self._add_output_port('port2', 2)
+ user_datas.append(p.user_data)
+
+ user_datas = []
+
+ comp = self._create_comp(MySource)
+ self.assertEqual(user_datas, [None, 2])
+
+ def test_filter_self_port_user_data(self):
+ class MyIter(bt2._UserMessageIterator):
+ def __next__(self):
+ raise bt2.Stop
+
+ class MyFilter(bt2._UserFilterComponent,
+ message_iterator_class=MyIter):
+ def __init__(comp_self, params):
+ nonlocal user_datas
+
+ p = comp_self._add_output_port('port1')
+ user_datas.append(p.user_data)
+ p = comp_self._add_output_port('port2', 'user data string')
+ user_datas.append(p.user_data)
+
+ p = comp_self._add_input_port('port3')
+ user_datas.append(p.user_data)
+ p = comp_self._add_input_port('port4', user_data={'user data': 'dict'})
+ user_datas.append(p.user_data)
+
+ user_datas = []
+
+ comp = self._create_comp(MyFilter)
+ self.assertEqual(user_datas,
+ [None, 'user data string', None, {'user data': 'dict'}])
+
+ def test_sink_self_port_user_data(self):
+ class MyIter(bt2._UserMessageIterator):
+ def __next__(self):
+ raise bt2.Stop
+
+ class MySink(bt2._UserFilterComponent,
+ message_iterator_class=MyIter):
+ def __init__(comp_self, params):
+ nonlocal user_datas
+
+ p = comp_self._add_input_port('port1')
+ user_datas.append(p.user_data)
+ p = comp_self._add_input_port('port2', set())
+ user_datas.append(p.user_data)
+
+ user_datas = []
+
+ comp = self._create_comp(MySink)
+ self.assertEqual(user_datas, [None, set()])