public void FireTest() { EventTestingUtilities.RequireWebots(); EventQueue.Nao.Post(haltEvent); // check not moving Assert.IsFalse(Walk.Instance.IsMoving()); }
public void FireTest() { EventTestingUtilities.RequireWebots(); EventQueue.Nao.Post(goToEvent); EventQueue.Nao.WaitFor(); System.Threading.Thread.Sleep(500); Assert.IsTrue(Walk.Instance.IsMoving()); }
public void AbortTest() { EventTestingUtilities.RequireWebots(); Walk.Instance.StartWalking(1, 1, 0); EventQueue.Nao.Suspended = true; EventQueue.Nao.Post(haltEvent); haltEvent.Abort(); EventQueue.Nao.Suspended = false; System.Threading.Thread.Sleep(500); Assert.IsTrue(Walk.Instance.IsMoving()); }
public void ValidFireObjectNotHeldTest() { EventTestingUtilities.RequireWebots(); Mock <Grabber> mock = new Mock <Grabber>() { CallBase = true }; mock.Setup(m => m.HoldingObject()).Returns(false); Grabber.Instance = mock.Object; EventQueue.Goal.Suspended = true;; EventQueue.Nao.Post(pickupEvent); pickupEvent.WaitFor(); Assert.IsInstanceOf <FailureEvent>(EventQueue.Goal.Peek(), "The event was executed but the Nao is not holding anything."); }
public void ObjectAlreadyHeldTest() { EventTestingUtilities.RequireWebots(); Mock <Grabber> mock = new Mock <Grabber>() { CallBase = true }; mock.Setup(m => m.HoldingObject()).Returns(true); Grabber.Instance = mock.Object; EventQueue.Goal.Suspended = true;; EventQueue.Nao.Post(pickupEvent); pickupEvent.WaitFor(); Assert.IsInstanceOf <FailureEvent>(EventQueue.Goal.Peek(), "The Nao is already holding an object, therefore cannot pick up a new one."); }
public void InternalErrorTest() { EventTestingUtilities.RequireWebots(); Mock <Grabber> mock = new Mock <Grabber>() { CallBase = true }; mock.Setup(m => m.HoldingObject()).Throws(new Exception()); Grabber.Instance = mock.Object; EventQueue.Goal.Suspended = true;; EventQueue.Nao.Post(pickupEvent); pickupEvent.WaitFor(); Assert.IsInstanceOf <ErrorEvent>(EventQueue.Goal.Peek(), "An internal error has been encountered, expecting an ErrorEvent."); }
public void ObjectAbsentTest() { EventTestingUtilities.RequireWebots(); Mock <Grabber> mock = new Mock <Grabber>() { CallBase = true }; mock.Setup(m => m.HoldingObject()).Returns(false); Grabber.Instance = mock.Object; EventQueue.Goal.Suspended = true;; EventQueue.Nao.Post(putdownEvent); putdownEvent.WaitFor(); Assert.IsInstanceOf <FailureEvent>(EventQueue.Goal.Peek(), "The Nao was not holding an object, therefore there is nothing to put down."); }
public void AbortObjectHeldTest() { EventTestingUtilities.RequireWebots(); Mock <Grabber> mock = new Mock <Grabber>() { CallBase = true }; mock.Setup(m => m.HoldingObject()).Returns(true); Grabber.Instance = mock.Object; EventQueue.Goal.Suspended = true;; EventQueue.Nao.EventFiring += (naoEvent => naoEvent.Abort()); EventQueue.Nao.Post(putdownEvent); putdownEvent.WaitFor(); Assert.IsInstanceOf <FailureEvent>(EventQueue.Goal.Peek(), "The event was aborted before the Nao could drop the object."); }
public void InternalErrorTest() { EventTestingUtilities.RequireWebots(); Mock <Grabber> mock = new Mock <Grabber>() { CallBase = true }; mock.Setup(m => m.HoldingObject()).Throws(new Exception()); Grabber.Instance = mock.Object; EventQueue.Goal.Suspended = true;; EventQueue.Nao.Post(putdownEvent); putdownEvent.WaitFor(); Assert.IsInstanceOf <ErrorEvent>(EventQueue.Goal.Peek(), "There is a serious internal error in Grabber.HoldingObject."); }
public void InvalidFireObjectDroppedTest() { EventTestingUtilities.RequireWebots(); Mock <Grabber> mock = new Mock <Grabber>() { CallBase = true }; mock.Setup(m => m.HoldingObject()).Returns(false); mock.Setup(m => m.PutDown()).Throws(new Exception()); Grabber.Instance = mock.Object; EventQueue.Goal.Suspended = true;; EventQueue.Nao.Post(putdownEvent); putdownEvent.WaitFor(); Assert.IsInstanceOf <SuccessEvent>(EventQueue.Goal.Peek(), @"The Nao caught an exception while trying to put the object down, but it still dropped the object. Therefore, expect success."); }
public void InvalidFireObjectHeldTest() { EventTestingUtilities.RequireWebots(); Mock <Grabber> mock = new Mock <Grabber>() { CallBase = true }; mock.Setup(m => m.HoldingObject()).Returns(true); mock.Setup(m => m.PutDown()).Throws(new Exception()); Grabber.Instance = mock.Object; EventQueue.Goal.Suspended = true;; EventQueue.Nao.Post(putdownEvent); putdownEvent.WaitFor(); Assert.IsInstanceOf <FailureEvent>(EventQueue.Goal.Peek(), @"The Nao caught an exception while trying to put the object down, and still holds it at the end."); }
public void ValidFireObjectHeldTest() { EventTestingUtilities.RequireWebots(); Mock <Grabber> mock = new Mock <Grabber>() { CallBase = true }; int callCounter = 0; mock.Setup(m => m.HoldingObject()) .Returns(() => callCounter > 0) .Callback(() => callCounter++); Grabber.Instance = mock.Object; EventQueue.Goal.Suspended = true;; EventQueue.Nao.Post(pickupEvent); pickupEvent.WaitFor(); Assert.IsInstanceOf <SuccessEvent>(EventQueue.Goal.Peek(), "The event was successfully executed."); }