Sha256: 9775cefe6253775262ce976d3293e3777489e883ae71e54aeb0a6c9f18719101

Contents?: true

Size: 1.16 KB

Versions: 3

Compression:

Stored size: 1.16 KB

Contents

require_relative '../test_helper'

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

  def part
    @part ||= Denko::Motor::Stepper.new board: board,
                                            pins: {step: 9, direction: 10}
  end

  def test_initialize
    assert_equal Denko::DigitalIO::Output, part.step.class
    assert_equal Denko::DigitalIO::Output, part.direction.class
  end

  def test_step_cw
    dir_mock = MiniTest::Mock.new
    dir_mock.expect :low?, false
    dir_mock.expect :low, nil
    step_mock = MiniTest::Mock.new
    step_mock.expect :high, nil
    step_mock.expect :low, nil

    part.stub(:direction, dir_mock) do
      part.stub(:step, step_mock) do
        part.step_cw
      end
    end
    dir_mock.verify
    step_mock.verify
  end

  def test_step_cc
    dir_mock = MiniTest::Mock.new
    dir_mock.expect :high?, false
    dir_mock.expect :high, nil
    step_mock = MiniTest::Mock.new
    step_mock.expect :high, nil
    step_mock.expect :low, nil

    part.stub(:direction, dir_mock) do
      part.stub(:step, step_mock) do
        part.step_cc
      end
    end
    dir_mock.verify
    step_mock.verify
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
denko-0.13.2 test/motor/stepper_test.rb
denko-0.13.1 test/motor/stepper_test.rb
denko-0.13.0 test/motor/stepper_test.rb