Module: Orocos::Test::Mocks
- Included in:
- SelfTest
- Defined in:
- lib/orocos/test/mocks.rb
Defined Under Namespace
Classes: FakeTaskContext
Instance Method Summary collapse
- #mock_input_port(port_model) ⇒ Object
- #mock_output_port(port_model) ⇒ Object
- #mock_task_context(orogen_model) ⇒ Object
- #mock_task_context_model(&block) ⇒ Object
Instance Method Details
#mock_input_port(port_model) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/orocos/test/mocks.rb', line 14 def mock_input_port(port_model) port = flexmock("mock for #{port_model}") port.should_receive(:model).and_return(port_model) port_writer = flexmock("mock for input writer to #{port_model}") port_writer.should_receive(:connected?).and_return(false) port.should_receive(:writer).and_return(port_writer).by_default port end |
#mock_output_port(port_model) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/orocos/test/mocks.rb', line 23 def mock_output_port(port_model) port = flexmock("mock for #{port_model}") port.should_receive(:model).and_return(port_model) port.should_receive(:connected?).and_return(false) port_reader = flexmock("mock for output reader from #{port_model}") port_reader.should_receive(:connected?).and_return(false) port.should_receive(:reader).and_return(port_reader).by_default port end |
#mock_task_context(orogen_model) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/orocos/test/mocks.rb', line 33 def mock_task_context(orogen_model) mock = flexmock(FakeTaskContext.new) mock.should_receive(:model).and_return(orogen_model) mock.should_receive(:port_names).and_return(orogen_model.each_input_port.map(&:name).to_a + orogen_model.each_output_port.map(&:name)) orogen_model.each_input_port do |port_model| port = mock_input_port(port_model) mock.should_receive(:port).with(port_model.name).and_return(port) mock.should_receive(:port).with(port_model.name, FlexMock.any).and_return(port) end orogen_model.each_output_port do |port_model| port = mock_output_port(port_model) mock.should_receive(:port).with(port_model.name).and_return(port) mock.should_receive(:port).with(port_model.name, FlexMock.any).and_return(port) end mock end |
#mock_task_context_model(&block) ⇒ Object
7 8 9 10 11 12 |
# File 'lib/orocos/test/mocks.rb', line 7 def mock_task_context_model(&block) project = OroGen::Spec::Project.new(Orocos.default_loader) interface = OroGen::Spec::TaskContext.new(project) interface.instance_eval(&block) flexmock(interface) end |