Sha256: fea0ae48dab3802a11a2930d4ee23102b091107e5f7a0be9964d719e97237196

Contents?: true

Size: 941 Bytes

Versions: 3

Compression:

Stored size: 941 Bytes

Contents

require_relative '../test_helper'

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

  def part
    @part ||= Denko::PulseIO::Buzzer.new(board: board, pin:8)
  end

  def test_low_on_initialize
    assert_equal part.state, board.low
  end
  
  def test_tone
    mock = MiniTest::Mock.new
    mock.expect :call, nil, [part.pin, 60, nil]
    mock.expect :call, nil, [part.pin, 120, 2000]
    board.stub(:tone, mock) do
      part.tone(60)
      part.tone(120, 2000)
    end
    mock.verify
  end
  
  def test_no_tone
    part
    mock = MiniTest::Mock.new
    mock.expect :call, nil, [part.pin]
    board.stub(:no_tone, mock) do
      part.no_tone
    end
    mock.verify
  end
  
  def stop
    mock = MiniTest::Mock.new
    mock.expect :call, nil
    mock.expect :call, nil
    part.stub(:kill_thread, mock) do
      part.stub(:no_tone, mock) do
        part.stop
      end
    end
    mock.verify
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

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