示例#1
0
        public void GivenItemWithRoute_WhenReleased_ShouldRouteAndUpdateIndex()
        {
            var item = new PlatformItem();

            item.Route = new Route
            {
                RouteItems = new Collection <RouteItem>
                {
                    new RouteItem {
                        ModuleType = 1
                    },
                    new RouteItem {
                        ModuleType = 3
                    },
                    new RouteItem {
                        ModuleType = 4
                    }
                }
            };
            ModuleA.Entities.PlatformItems.Add(item);

            ModuleA.SimulateItemReleased(item, 1);

            item.Route.CurrentIndex.Should().Be(1);
            ModuleC.Entities.PlatformItems.Should().Contain(item);
            ModuleC.TestCurrentItemRoutings.Should().HaveCount(1);
            ModuleA.Entities.PlatformItems.Should().HaveCount(0);

            ModuleC.SimulateItemReleased(item, 0);

            ModuleC.Entities.PlatformItems.Should().HaveCount(0);
            ModuleD.Entities.PlatformItems.Should().HaveCount(1);
        }
示例#2
0
        public void WhenReleaseItem_ShouldBeInNextModule()
        {
            var item = new PlatformItem();

            ModuleA.Entities.PlatformItems.Add(item);

            ModuleA.SimulateItemReleased(item, 0);

            ModuleB.Entities.PlatformItems.Should().Contain(item, "item should be in ModuleB because it comes next");
            ModuleA.Entities.PlatformItems.Should().HaveCount(0, "item has been released");
        }