public void NoNeedMoveWhileMoving() { // NOTE : Arrange. var mock = new Mock<IWatch>(); mock.Setup(w => w.Now()).Returns(new DateTime(2013, 01, 22)); bool needStop = false; var m = new SlothMoveByTimeSingle<object>(() => { while (!needStop) { Thread.Sleep(1); } return null; }, new TimeSpan(100, 0, 0), default(int), mock.Object); mock.Setup(w => w.Now()).Returns(new DateTime(2013, 02, 22)); var thread = new Thread(() => m.Move(0)); thread.Start(); Thread.Sleep(1); // NOTE : Act. var isneed = m.IsNeedMove; needStop = true; // NOTE : Assert. Assert.IsFalse(isneed); }
public void NeedMoveFirstTimeTest() { // NOTE : Arrange. var mock = new Mock<IWatch>(); mock.Setup(w => w.Now()).Returns(new DateTime(2013, 01, 22)); var m = new SlothMoveByTimeSingle<object>(() => null, new TimeSpan(100, 0, 0), default(int), mock.Object); // NOTE : Act. var isneed = m.IsNeedMove; // NOTE : Assert. Assert.IsTrue(isneed); }