public void Should_order_types()
        {
            var cat = Mock.Of <ISdkCategorizer>(
                c => c.ModelTypes == new[]
            {
                typeof(A), typeof(B), typeof(C), typeof(D), typeof(DReference), typeof(E), typeof(EReference), typeof(FType),
                typeof(FDescriptor)
            });

            var mds          = new ModelDependencySort(cat);
            var sortedResult = mds.OrderedModels().ToList();

            foreach (var type in sortedResult)
            {
                Console.WriteLine(type.FullName);
            }

            Assert.IsTrue(sortedResult.IndexOf(typeof(A)) > sortedResult.IndexOf(typeof(B)));
            Assert.IsTrue(sortedResult.IndexOf(typeof(A)) > sortedResult.IndexOf(typeof(C)));
            Assert.IsTrue(sortedResult.IndexOf(typeof(A)) > sortedResult.IndexOf(typeof(FDescriptor)));
            Assert.IsTrue(sortedResult.IndexOf(typeof(A)) > sortedResult.IndexOf(typeof(FType)));

            Assert.IsTrue(sortedResult.IndexOf(typeof(B)) > sortedResult.IndexOf(typeof(DReference)));

            Assert.IsTrue(sortedResult.IndexOf(typeof(C)) > sortedResult.IndexOf(typeof(EReference)));

            Assert.IsTrue(sortedResult.IndexOf(typeof(DReference)) > sortedResult.IndexOf(typeof(D)));

            Assert.IsTrue(sortedResult.IndexOf(typeof(EReference)) > sortedResult.IndexOf(typeof(E)));

            Assert.IsTrue(sortedResult.IndexOf(typeof(FDescriptor)) > sortedResult.IndexOf(typeof(FType)));
        }
예제 #2
0
        public void Should_order_types_from_Sdk()
        {
            var cat          = new SdkCategorizer(SdkLibraryFactory);
            var mds          = new ModelDependencySort(cat);
            var sortedResult = mds.OrderedModels().ToArray();

            foreach (var type in sortedResult)
            {
                Console.WriteLine(type.FullName);
            }
        }
        public void Should_resolve_longer_reference()
        {
            var cat = Mock.Of <ISdkCategorizer>(
                c => c.ModelTypes == new[]
            {
                typeof(Alpha), typeof(BravoCharlieType), typeof(AlphaBravoCharlieType)
            });

            var mds          = new ModelDependencySort(cat);
            var sortedResult = mds.OrderedModels().ToList();

            foreach (var type in sortedResult)
            {
                Console.WriteLine(type.FullName);
            }

            Assert.IsTrue(sortedResult.IndexOf(typeof(Alpha)) > sortedResult.IndexOf(typeof(BravoCharlieType)));
            Assert.IsTrue(sortedResult.IndexOf(typeof(Alpha)) > sortedResult.IndexOf(typeof(AlphaBravoCharlieType)));
        }