public void GivenItemsInModuleA_WhenRouteAllToModuleB_ShouldRoute() { ModuleA.Entities.PlatformItems.Add(new PlatformItem()); ModuleBusManager.ForcePath(ModuleA, ModuleB, 0, 0); ModuleA.TestCurrentAllPortRoutings.Should().Contain(0, "forcing to ModuleB was enabled and port 0 is connected to ModuleB"); }
public void GivenModuleEmptyAndRouteAll_WhenGetsFull_ShouldReleaseRouteAll() { ModuleB.LimitItemCount = 1; ModuleBusManager.ForcePath(ModuleA, ModuleB, 0, 0); ModuleB.SimulateItemDetected(new PlatformItem()); ModuleA.TestCurrentAllPortRoutings.Should().HaveCount(0); }
public void GivenModuleHasItemAndFull_WhenRouteAll_ShouldNotRouteAll() { ModuleB.LimitItemCount = 1; ModuleB.Entities.PlatformItems.Add(new PlatformItem()); ModuleBusManager.ForcePath(ModuleA, ModuleB, 0, 0); ModuleA.TestCurrentAllPortRoutings.Should().HaveCount(0); }
public void GivenTargetIsFull_WhenRouteAll_ShouldNotRoute() { ModuleA.Entities.PlatformItems.Add(new PlatformItem()); ModuleB.SimulateIsFull(0); ModuleBusManager.ForcePath(ModuleA, ModuleB, 0, 0); ModuleA.TestCurrentAllPortRoutings.Should().HaveCount(0, "ModuleA must not route items because target is full"); }
public void GivenRouteAll_WhenModuleStops_ShouldNotRoute() { ModuleA.Entities.PlatformItems.Add(new PlatformItem()); ModuleBusManager.ForcePath(ModuleA, ModuleB, 0, 0); ModuleB.Stop(); ModuleA.TestCurrentAllPortRoutings.Should().HaveCount(0, "ModuleA must not route items because target is in OFF state now"); }
public void WhenReleaseRouteAll_ShouldNotRoute() { ModuleA.Entities.PlatformItems.Add(new PlatformItem()); ModuleBusManager.ForcePath(ModuleA, ModuleB, 0, 0); ModuleBusManager.ReleaseForcePath(ModuleA, ModuleB, 0, 0); ModuleA.TestCurrentAllPortRoutings.Should().HaveCount(0, "Module must route nothing because it was released by ModuleBusManager"); }
public void GivenRouteAll_WhenDestinationStops_ShouldStopRouting() { var item = new PlatformItem(); ModuleA.Entities.PlatformItems.Add(item); ModuleBusManager.ForcePath(ModuleA, ModuleB, 0, 0); ModuleB.Stop(); ModuleA.TestCurrentAllPortRoutings.Should().HaveCount(0, "ModuleA must not route items because target is full now"); }
public void IsRoutePossible_WhenLongRoutePossible_ShouldReturnTrue_ShouldDisregardModuleState() { ModuleC.SimulateEmergencyOff(); ModuleF.SimulateIsFull(0); ModuleF.SimulateIsFull(1); ModuleA.LimitItemCount = 1; ModuleA.Entities.PlatformItems.Add(new PlatformItem()); var result = ModuleBusManager.IsRoutePossible(ModuleB, ModuleG); result.Should().BeTrue(); }
public void GivenModuleFullAndRouteAll_WhenNotFullAnymore_ShouldRouteAll() { var item = new PlatformItem(); ModuleB.LimitItemCount = 1; ModuleB.Entities.PlatformItems.Add(item); ModuleBusManager.ForcePath(ModuleA, ModuleB, 0, 0); ModuleA.SimulateItemDetected(item); ModuleA.TestCurrentAllPortRoutings.Should().HaveCount(1); }
public void IsRoutePossible_WhenLongRoutePossible_ShouldReturnTrue() { var result = ModuleBusManager.IsRoutePossible(ModuleB, ModuleG); result.Should().BeTrue(); }
public void IsRoutePossible_WhenRouteNotPossible_ShouldReturnFalse() { var result = ModuleBusManager.IsRoutePossible(ModuleG, ModuleF); result.Should().BeFalse(); }