Sha256: ad1519cdd52ac99a553030279b090d8eeb793e9de1f76a0ab09e624301424509

Contents?: true

Size: 1000 Bytes

Versions: 7

Compression:

Stored size: 1000 Bytes

Contents

require_relative '../test_helper'

class InputComponent
  include Denko::Behaviors::InputPin
end

class InputPinTest < Minitest::Test
  def board
    @board ||= BoardMock.new
  end

  def part
    @part ||= InputComponent.new(board: board, pin: 1)
  end

  def test_mode_and_pullup
    mock = Minitest::Mock.new
    mock.expect :call, nil, [1, :input]
    mock.expect :call, nil, [2, :input_pulldown]
    mock.expect :call, nil, [3, :input_pullup]
    mock.expect :call, nil, [4, :input_output]
    
    board.stub(:set_pin_mode, mock) do
      part
      InputComponent.new(board: board, pin: 2, pulldown: true)
      InputComponent.new(board: board, pin: 3, pullup: true)
      InputComponent.new(board: board, pin: 4, mode: :input_output)
    end
    mock.verify
    
    assert_equal :input, part.mode
  end

  def test_stop_listener
    mock = Minitest::Mock.new
    mock.expect :call, nil, [1]
    board.stub(:stop_listener, mock) do
      part._stop_listener
    end
    mock.verify
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
denko-0.13.6 test/behaviors/input_pin_test.rb
denko-0.13.5 test/behaviors/input_pin_test.rb
denko-0.13.4 test/behaviors/input_pin_test.rb
denko-0.13.3 test/behaviors/input_pin_test.rb
denko-0.13.2 test/behaviors/input_pin_test.rb
denko-0.13.1 test/behaviors/input_pin_test.rb
denko-0.13.0 test/behaviors/input_pin_test.rb