Sha256: 38536bf36e67eaf3e3997e0c8c495051b721a93267a9de8b1bfc8246414b3e01
Contents?: true
Size: 1.21 KB
Versions: 3
Compression:
Stored size: 1.21 KB
Contents
require_relative '../test_helper' class AnalogIOPotentiometerTest < MiniTest::Test def board @board ||= BoardMock.new end def part @part ||= Denko::AnalogIO::Potentiometer.new(board: board, pin:14) end def test_setup mock = MiniTest::Mock.new.expect(:call, nil, [14,8]) board.stub(:analog_listen, mock) do part end assert part.smoothing assert_equal 8, part.divider assert_equal [], part.instance_variable_get(:@smoothing_set) end def test_smoothing_on 7.times do part.update(10) end part.update(50) # 120/8 = 15 assert_equal part.state, 15 end def test_smoothing_off part.smoothing = false 7.times do part.update(10) end part.update(50) # Give latest value. assert_equal part.state, 50 end def test_on_change mock = Minitest::Mock.new.expect(:call, nil) # Turn off smoothing and set an initial value part.smoothing = false part.update(100) # Add the callback part.on_change { mock.call } # Send a few updates part.update(100) part.update(100) part.update(101) # Should have only been called once. mock.verify end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
denko-0.13.2 | test/analog_io/potentiometer_test.rb |
denko-0.13.1 | test/analog_io/potentiometer_test.rb |
denko-0.13.0 | test/analog_io/potentiometer_test.rb |