Sha256: 22b03369ec41621074a0811cdb13263c519fc80bcbad17d4a300c64c96ad7753
Contents?: true
Size: 1.12 KB
Versions: 3
Compression:
Stored size: 1.12 KB
Contents
require_relative '../test_helper' class BaseComponent include Denko::Behaviors::Component end class ComponentTest < Minitest::Test def board @board ||= BoardMock.new end def part @part ||= BaseComponent.new(board: board) end def test_requires_board assert_raises(ArgumentError) { BaseComponent.new } end def test_registers_with_board assert_equal board.components, [part] end def test_unregisters_with_board part.send(:unregister) assert_equal board.components, [] end def test_start_with_nil_state assert_nil BaseComponent.new(board: board).state end def test_sets_and_gets_state part.send(:state=, 10) assert_equal part.state, 10 end def test_state_through_mutex mock = MiniTest::Mock.new 2.times {mock.expect(:call, nil)} part.instance_variable_get(:@state_mutex).stub(:synchronize, mock) do part.state part.send(:state=, nil) end mock.verify end def test_micro_delay mock = MiniTest::Mock.new.expect :call, nil, [1000] board.stub(:micro_delay, mock) do part.micro_delay(1000) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
denko-0.13.2 | test/behaviors/component_test.rb |
denko-0.13.1 | test/behaviors/component_test.rb |
denko-0.13.0 | test/behaviors/component_test.rb |