Example #1
0
        public void should_correctly_order_priorities()
        {
            var defaultPrioritySystem           = new DefaultPrioritySystem();
            var higherThanDefaultPrioritySystem = new HigherThanDefaultPrioritySystem();
            var lowerThanDefaultPrioritySystem  = new LowerThanDefaultPrioritySystem();
            var lowPrioritySystem  = new LowestPrioritySystem();
            var highPrioritySystem = new HighestPrioritySystem();

            var systemList = new List <ISystem>
            {
                defaultPrioritySystem,
                higherThanDefaultPrioritySystem,
                lowerThanDefaultPrioritySystem,
                lowPrioritySystem,
                highPrioritySystem
            };

            var orderedList = systemList.OrderByPriority().ToList();

            Assert.Equal(5, orderedList.Count);
            Assert.Equal(highPrioritySystem, orderedList[0]);
            Assert.Equal(higherThanDefaultPrioritySystem, orderedList[1]);
            Assert.Equal(defaultPrioritySystem, orderedList[2]);
            Assert.Equal(lowerThanDefaultPrioritySystem, orderedList[3]);
            Assert.Equal(lowPrioritySystem, orderedList[4]);
        }
Example #2
0
        public void should_correctly_order_priorities()
        {
            var defaultPrioritySystem           = new DefaultPrioritySystem();
            var higherThanDefaultPrioritySystem = new HigherThanDefaultPrioritySystem();
            var lowerThanDefaultPrioritySystem  = new LowerThanDefaultPrioritySystem();
            var lowPrioritySystem  = new LowPrioritySystem();
            var highPrioritySystem = new HighPrioritySystem();

            var systemList = new List <ISystem>
            {
                defaultPrioritySystem,
                higherThanDefaultPrioritySystem,
                lowerThanDefaultPrioritySystem,
                lowPrioritySystem,
                highPrioritySystem
            };

            var orderedList = systemList.OrderByPriority().ToList();

            Assert.That(orderedList, Has.Count.EqualTo(5));
            Assert.That(orderedList[0], Is.EqualTo(highPrioritySystem));
            Assert.That(orderedList[1], Is.EqualTo(higherThanDefaultPrioritySystem));
            Assert.That(orderedList[2], Is.EqualTo(defaultPrioritySystem));
            Assert.That(orderedList[3], Is.EqualTo(lowerThanDefaultPrioritySystem));
            Assert.That(orderedList[4], Is.EqualTo(lowPrioritySystem));
        }
        public void should_correctly_order_view_systems()
        {
            var defaultPrioritySystem           = new DefaultPrioritySystem();
            var defaultPrioritySetupSystem      = new DefaultPrioritySetupSystem();
            var higherThanDefaultPrioritySystem = new HigherThanDefaultPrioritySystem();
            var lowerThanDefaultPrioritySystem  = new LowerThanDefaultPrioritySystem();
            var lowPrioritySystem         = new LowestPrioritySystem();
            var lowPrioritySetupSystem    = new LowestPrioritySetupSystem();
            var highPrioritySystem        = new HighestPrioritySystem();
            var highPrioritySetupSystem   = new HighestPrioritySetupSystem();
            var defaultPriorityViewSystem = new DefaultPriorityViewResolverSystem();
            var highestPriorityViewSystem = new HighestPriorityViewResolverSystem();
            var lowestPriorityViewSystem  = new LowestPriorityViewResolverSystem();

            var systemList = new List <ISystem>
            {
                defaultPrioritySystem,
                higherThanDefaultPrioritySystem,
                lowerThanDefaultPrioritySystem,
                lowPrioritySystem,
                highPrioritySystem,
                defaultPrioritySetupSystem,
                lowPrioritySetupSystem,
                highPrioritySetupSystem,
                defaultPriorityViewSystem,
                highestPriorityViewSystem,
                lowestPriorityViewSystem
            };

            var mockContainer   = Substitute.For <IDependencyContainer>();
            var mockApplication = Substitute.For <IEcsRxApplication>();

            mockContainer.ResolveAll(typeof(ISystem)).Returns(systemList);
            mockApplication.Container.Returns(mockContainer);

            var orderedSystems = ViewApplicationExtensions.GetAllBoundViewSystems(mockApplication).ToList();

            Assert.Equal(11, orderedSystems.Count);
            Assert.Equal(highPrioritySetupSystem, orderedSystems[0]);
            Assert.Equal(defaultPrioritySetupSystem, orderedSystems[1]);
            Assert.Equal(lowPrioritySetupSystem, orderedSystems[2]);
            Assert.Equal(highestPriorityViewSystem, orderedSystems[3]);
            Assert.Equal(defaultPriorityViewSystem, orderedSystems[4]);
            Assert.Equal(lowestPriorityViewSystem, orderedSystems[5]);
            Assert.Equal(highPrioritySystem, orderedSystems[6]);
            Assert.Equal(higherThanDefaultPrioritySystem, orderedSystems[7]);
            Assert.Equal(defaultPrioritySystem, orderedSystems[8]);
            Assert.Equal(lowerThanDefaultPrioritySystem, orderedSystems[9]);
            Assert.Equal(lowPrioritySystem, orderedSystems[10]);
        }