from roco.api.component import Component from roco.library import * from roco.library import get_component if __name__ == "__main__": c = Component(name='Roco') c.add_subcomponent('serial', 'serial_in') c.add_subcomponent('s2s', 'serial_to_string') c.add_subcomponent('compare', 'string_compare') c.add_connection(('serial', 'received'), ('s2s', 'received')) c.add_connection(('serial', 'came'), ('s2s', 'came')) c.add_connection(('s2s', 'cameOut'), ('compare', 'inDetected')) c.add_connection(('s2s', 'receivedString'), ('compare', 'inString')) c.to_yaml("library/Roco.yaml")
from roco.api.component import Component from roco.library import * from roco.library import get_component if __name__ == "__main__": c = Component(name='ArduinoCode') c.add_subcomponent('serial_in0', 'serial_in') c.add_subcomponent('serial_to_string0', 'serial_to_string') c.add_subcomponent('string_compare0', 'string_compare') c.add_connection(('', 'ial_in0->received'), ('serial_to_string0', 'received')) c.add_connection(('', 'ial_in0->came'), ('serial_to_string0', 'came')) c.add_connection(('', 'ial_to_string0->cameOut'), ('string_compare0', 'inDetected')) c.add_connection(('', 'ial_to_string0->receivedString'), ('string_compare0', 'inString')) c.to_yaml("library/ArduinoCode.yaml")
from roco.api.component import Component from roco.library import * from roco.library import get_component if __name__ == "__main__": c = Component() c.to_yaml("library/user_name.yaml")
from roco.api.component import Component from roco.library import * from roco.library import get_component if __name__ == "__main__": c = Component(name='GetSerialString') c.add_subcomponent('sIn', 'serial_in') c.add_subcomponent('s2s', 'serial_to_string') c.add_connection(('sIn', 'received'), ('s2s', 'received')) c.add_connection(('sIn', 'came'), ('s2s', 'came')) c.inherit_interface('out1', ('s2s', 'cameOut')) c.inherit_interface('out2', ('s2s', 'receivedString')) c.to_yaml("library/getSerialString.yaml")
class TestComponent(unittest.TestCase): def setUp(self): self.c = Component() # Creates a single set-up code for all test cases that need an instance of Component # It is called for every single test case def test_add_connection(self): self.assertRaises(Exception, self.c.add_connection, (from_subcomponent, from_interface), (to_subcomponent, to_interface)) # Assuming there should be an error if since the subcomponents have not been defined yet def test_add_interface_valueerror(self): self.assertRaises(ValueError, self.p.add_interface, "invalid_name", Port()) # A ValueError should be raised because the name cannot have underscores # Are there any other invalid characters? def test_get_interface(self): p = Port() self.c.add_interface("AnInterface", p) self.assertEqual(self.c.get_interface("AnInterface"), p) # Is this a correct comparison? # Adds an interface, and then checks it def test_get_subcomponent(self): self.c.add_subcomponent("TestSubcomponent", "Component") self.assertEqual( isinstance(self.c.get_subcomponent("TestSubcomponent"), Component()), True) def test_make(self): try: self.c.make() self.assertEqual(True, True) except: self.assertEqual(True, False) def test_delete_subcomponent(self): self.c.add_subcomponent("TestSubcomponent", "Component") try: self.c.delete_subcomponent("TestSubcomponent") self.assertEqual(True, True) except: self.assertEqual(True, False) def test_delete_interface(self): p = Port() self.c.add_interface("AnInterface", p) try: self.c.delete_interface("AnInterface") self.assertEqual(True, True) except: self.assertEqual(True, False) def test_define(self): try: self.c.define() self.assertEqual(True, True) except: self.assertEqual(True, False) def test_to_yaml(self): # p = Port(); self.c.add_interface("AnInterface",p) self.c.add_parameter("Width", 79) self.c.to_yaml("testfile") c2 = Component() c2.from_yaml("testfile") self.assertEqual(c2.get_parameter("Width"), 79) def test_assemble(self): try: self.c.assemble() self.assertEqual(True, True) except: self.assertEqual(True, False) def test_make(self): try: self.c.make() self.assertEqual(True, True) except: self.assertEqual(True, False) def test_reset(self): try: self.c.reset() self.assertEqual(True, True) except: self.assertEqual(True, False) def test_make_component_tree(self): try: self.c.make_component_tree("FileName", "TreeName") self.assertEqual(True, True) except: self.assertEqual(True, False)
from roco.api.component import Component from roco.library import * from roco.library import get_component if __name__ == "__main__": c = Component(name='DrivenServo') c.add_subcomponent('servo0', 'servo') c.add_subcomponent('servo_driver0', 'servo_driver') c.add_connection(('servo_driver0', 'eOut'), ('servo0', 'eIn')) c.inherit_interface('PWMin', ('servo_driver0', 'PWMin')) c.inherit_interface('inInt', ('servo_driver0', 'inInt')) c.to_yaml("library/DrivenServo.yaml")
from roco.api.component import Component from roco.library import * from roco.library import get_component if __name__ == "__main__": c = Component(name = 'Car') c.add_subcomponent('Constant0', 'Constant') c.add_subcomponent('Constant1', 'Constant') c.add_subcomponent('Constant2', 'Constant') c.add_subcomponent('Constant3', 'Constant') c.add_subcomponent('DrivenServo0', 'DrivenServo') c.add_subcomponent('DrivenServo1', 'DrivenServo') c.add_subcomponent('DrivenServo2', 'DrivenServo') c.add_subcomponent('DrivenServo3', 'DrivenServo') c.add_subcomponent('node_mcu0', 'node_mcu') c.add_connection(('node_mcu0', 'do1'), ('DrivenServo0', 'PWMin')) c.add_connection(('Constant0', 'num'), ('DrivenServo0', 'inInt')) c.add_connection(('node_mcu0', 'do2'), ('DrivenServo1', 'PWMin')) c.add_connection(('Constant1', 'num'), ('DrivenServo1', 'inInt')) c.add_connection(('node_mcu0', 'do3'), ('DrivenServo2', 'PWMin')) c.add_connection(('Constant2', 'num'), ('DrivenServo2', 'inInt')) c.add_connection(('node_mcu0', 'do4'), ('DrivenServo3', 'PWMin')) c.add_connection(('Constant3', 'num'), ('DrivenServo3', 'inInt')) c.get_subcomponent('Constant0').set_parameter('num', '130') c.get_subcomponent('Constant1').set_parameter('num', '130') c.get_subcomponent('Constant2').set_parameter('num', '130') c.get_subcomponent('Constant3').set_parameter('num', '130') c.to_yaml("library/car.yaml") c.make_output()