Sha256: 69a7229f982480abf44f06b3ec0bce14e76cd367081b37520c64c5e28e7d589d

Contents?: true

Size: 786 Bytes

Versions: 3

Compression:

Stored size: 786 Bytes

Contents

require_relative '../test_helper'

class NoAddressController
  include Denko::Behaviors::Component
  include Denko::Behaviors::BusController
end

class NoAddressPeripheral
  include Denko::Behaviors::Component
  include Denko::Behaviors::BusPeripheral
end

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

  def bus
    @bus ||= NoAddressController.new(board: board)
  end
  
  def part
    @part ||= NoAddressPeripheral.new(bus: bus, address: 0x22)
  end
  
  def test_initialize
    assert_equal part.board, bus
  end

  def test_can_use_bus_atomically   
    mock = MiniTest::Mock.new
    1.times {mock.expect(:call, nil)}
    
    bus.mutex.stub(:synchronize, mock) do
      part.atomically { true; false; }
    end
    mock.verify
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
denko-0.13.2 test/behaviors/bus_peripheral_test.rb
denko-0.13.1 test/behaviors/bus_peripheral_test.rb
denko-0.13.0 test/behaviors/bus_peripheral_test.rb