Sha256: 3742b16571cce0abd8d038ef63b1018f7c6725b7fb57595f6f4bf48da7fc57b6

Contents?: true

Size: 1.16 KB

Versions: 3

Compression:

Stored size: 1.16 KB

Contents

require_relative '../test_helper'

class APIServoTest < Minitest::Test
  include TestPacker
  
  def connection
    @connection ||= ConnectionMock.new
  end

  def board
    @board ||= Denko::Board.new(connection)
  end

  def test_on_off
    mock = MiniTest::Mock.new
    aux = pack :uint16, [544, 2400]
    mock.expect :call, nil, [Denko::Message.encode(command: 10, pin: 9, value: 1, aux_message: aux)]
    mock.expect :call, nil, [Denko::Message.encode(command: 10, pin: 9, value: 0, aux_message: aux)]

    board.stub(:write, mock) do
      board.servo_toggle(9, :on)
      board.servo_toggle(9)
    end
    mock.verify
  end

  def test_min_max
    mock = MiniTest::Mock.new
    aux = pack :uint16, [360, 2100]
    mock.expect :call, nil, [Denko::Message.encode(command: 10, pin: 9, value: 1, aux_message: aux)]

    board.stub(:write, mock) do
      board.servo_toggle(9, :on, min: 360, max: 2100)
    end
    mock.verify
  end
  
  def test_write
    mock = MiniTest::Mock.new
    mock.expect :call, nil, [Denko::Message.encode(command: 11, pin: 9, aux_message: pack(:uint16, 180))]

    board.stub(:write, mock) do
      board.servo_write(9, 180)
    end
    mock.verify
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
denko-0.13.2 test/board/servo_test.rb
denko-0.13.1 test/board/servo_test.rb
denko-0.13.0 test/board/servo_test.rb