Sha256: 5de811d9253770bf57a25459ab3effc11f457fae9d12052dc0c01f40ae78aa3b

Contents?: true

Size: 836 Bytes

Versions: 3

Compression:

Stored size: 836 Bytes

Contents

require_relative '../test_helper'

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

  def board
    @board ||= Denko::Board.new(connection)
  end
  
  def test_infrared_emit
    board
    aux = pack(:uint8, 4) + pack(:uint16, [255,0,255,0])
    message = Denko::Message.encode command: 16, pin: 8, value: 38, aux_message: aux
    
    mock = MiniTest::Mock.new.expect :call, nil, [message]
    connection.stub(:write, mock) do
      board.infrared_emit 8, 38, [255,0,255,0]
    end
    mock.verify
  end
  
  def test_minimum_pulses
    assert_raises(ArgumentError) do
      board.infrared_emit 8, 38, []
    end
  end
  
  def test_maximum_pulses
    assert_raises(ArgumentError) do 
      board.infrared_emit 8, 38, Array.new(513) { 128 }
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

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