Sha256: 3ca0b8fb7e881e824be8420d994ecda02fdf58d4055a8a70239fad82202f124d

Contents?: true

Size: 756 Bytes

Versions: 3

Compression:

Stored size: 756 Bytes

Contents

require_relative '../test_helper'

class IRTransmitterTest < MiniTest::Test
  def board
    @board ||= BoardMock.new
  end

  def part
    @part ||= Denko::PulseIO::IRTransmitter.new(board: board, pin:1)
  end
  
  def test_pulse_count_validation
    assert_raises(ArgumentError) do
      part.emit Array.new(257) { 0 }
    end
  end
  
  def test_numeric_validation
    assert_raises(ArgumentError) do
      part.emit ["a", "b", "c"]
    end
  end
  
  def test_pulse_length_validation
    assert_raises(ArgumentError) do
      part.emit [65536]
    end
  end
  
  def test_emits
    part
    mock = MiniTest::Mock.new.expect(:call, nil, [1, 38, [127,0]])
    board.stub(:infrared_emit, mock) do
      part.emit([127,0])
    end
    mock.verify
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
denko-0.13.2 test/pulse_io/ir_transmitter_test.rb
denko-0.13.1 test/pulse_io/ir_transmitter_test.rb
denko-0.13.0 test/pulse_io/ir_transmitter_test.rb