示例#1
0
 public void SetUp()
 {
     _gate             = new AutoResetEvent(false);
     _callback         = new PathfindingCallback(_gate);
     _manager          = new PathfindingManager();
     _manager.Started += (_, __) => {
         _gate.Set();
     };
     _manager.Start();
     _gate.WaitOne(DELAY_MS);
 }
示例#2
0
        public void GetPath_ManagerNotStarted_ThrowsException()
        {
            using var gate = new AutoResetEvent(false);
            var callback = new PathfindingCallback(gate);
            IPathfindingManager manager = new PathfindingManager();

            try {
                Assert.That(() => {
                    manager.GetPath(_map, ref _map.GetCell(0, 0), ref _map.GetCell(_map.Columns - 1, _map.Rows - 1), Locomotion.Walk, callback, 0);
                }, Throws.InvalidOperationException);
            } finally {
                manager.Stop();
            }
        }