require "navigator"

class TestNavigator

  def initialize()
    Rover::USE_MOCKS = true
    @rover = Rover.instance
  end

  def test_forward()
    nv = Navigator.new(@rover)
    puts "testing forward movement"
    nv.forward(80, 5)
#    nv.forward(299, 5)
#    nv.forward(5, 5)
#    nv.forward(359, 5)
    puts "tests succeeded"
  end

  def test_wait_for_current()
    nv = Navigator.new(@rover)
    #the mock acm will return values in a range of 230-274
    #so let's shoot for a current of 260, which means we want
    #a heading of 80
    result = nv.wait_for_current(80)
    unless(result)
      "wait for current failed"
    end
    result = nv.wait_for_current(200)
    if(result)
      "wait for current should have failed, but did not"
    end
  end
end

test = TestNavigator.new()
test.test_forward()
test.test_wait_for_current()

