Sha256: b4921b781c11df92ec721d3fd7970cab5d1df325c714cd5892667be2aea4f00c

Contents?: true

Size: 912 Bytes

Versions: 8

Compression:

Stored size: 912 Bytes

Contents

require_relative '../test_helper'

class SinglePinComponent
  include Denko::Behaviors::SinglePin
end

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

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

  def test_requires_pin
    assert_raises(ArgumentError) { SinglePinComponent.new(board: board) }
  end
  
  def test_mode=
    mock = Minitest::Mock.new
    mock.expect :call, nil, [1, :some_mode] 

    board.stub(:set_pin_mode, mock) do
      part.mode = :some_mode
    end
    mock.verify
    
    assert_equal :some_mode, part.mode
  end

  def test_converts_pin_before_saving
    c1 = SinglePinComponent.new(board: board, pin: :DAC0)
    c2 = SinglePinComponent.new(board: board, pin: :A1)
    c3 = SinglePinComponent.new(board: board, pin: :SDA)

    assert_equal 14, c1.pin
    assert_equal 15, c2.pin
    assert_equal 20, c3.pin
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

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