Beispiel #1
0
            public void SkipsDuplicateAssemblies()
            {
                var assemblies = AppDomain.CurrentDomain.GetAssemblies();
                var assembly1  = assemblies[0];
                var assembly2  = assemblies[1];

                var scanner = new RouteScanner();

                scanner.IncludedAssemblies().Count.ShouldBe(0);

                scanner.Include(assembly1);

                scanner.IncludedAssemblies().Count.ShouldBe(1);
                scanner.IncludedAssemblies()[0].ShouldBe(assembly1);

                scanner.Include(assembly2);

                scanner.IncludedAssemblies().Count.ShouldBe(2);
                scanner.IncludedAssemblies()[0].ShouldBe(assembly1);
                scanner.IncludedAssemblies()[1].ShouldBe(assembly2);

                scanner.Include(assembly1);

                scanner.IncludedAssemblies().Count.ShouldBe(2);
                scanner.IncludedAssemblies()[0].ShouldBe(assembly1);
                scanner.IncludedAssemblies()[1].ShouldBe(assembly2);
            }
Beispiel #2
0
            public void SkipsDuplicateNamespaces()
            {
                const string ns1 = "Grapevine.Tests.Server";
                const string ns2 = "Grapevine.Tests.Client";

                var scanner = new RouteScanner();

                scanner.IncludedNamespaces().Count.ShouldBe(0);

                scanner.Include(ns1);

                scanner.IncludedNamespaces().Count.ShouldBe(1);
                scanner.IncludedNamespaces()[0].ShouldBe(ns1);

                scanner.Include(ns2);

                scanner.IncludedNamespaces().Count.ShouldBe(2);
                scanner.IncludedNamespaces()[0].ShouldBe(ns1);
                scanner.IncludedNamespaces()[1].ShouldBe(ns2);

                scanner.Include(ns1);

                scanner.IncludedNamespaces().Count.ShouldBe(2);
                scanner.IncludedNamespaces()[0].ShouldBe(ns1);
                scanner.IncludedNamespaces()[1].ShouldBe(ns2);
            }
Beispiel #3
0
                public void ReturnsFalseWhenTypeIsNotInIncludes()
                {
                    var scanner = new RouteScanner();

                    scanner.Include <Route>();
                    scanner.CheckIsIncluded(typeof(Router)).ShouldBeFalse();
                }
Beispiel #4
0
                public void ReturnsTrueWhenGenericTypeIsIncluded()
                {
                    var scanner = new RouteScanner();

                    scanner.Include <Route>();
                    scanner.CheckIsIncluded(typeof(Route)).ShouldBeTrue();
                }
Beispiel #5
0
            public void ReturnsRoutesAndLogsWithInclusions()
            {
                //ReflectionTypeLoadException exception = null;
                //var attempts = 0;

                //do
                //{
                //    attempts++;
                //    exception = null;

                //    try
                //    {
                var logger  = new InMemoryLogger();
                var scanner = new RouteScanner {
                    Logger = logger
                };

                scanner.Include(Assembly.GetExecutingAssembly());
                logger.Logs.ShouldBeEmpty();

                var routes = scanner.Scan();

                routes.ShouldNotBeNull();
                routes.Count.ShouldBe(2);
                logger.Logs.ShouldNotBeEmpty();
                //    }
                //    catch (ReflectionTypeLoadException ex)
                //    {
                //        exception = ex;
                //        Thread.Sleep(231);
                //    }
                //} while (exception != null || attempts > 5);

                //if (exception != null) throw exception;
            }
Beispiel #6
0
                public void ReturnsTrueWhenAssemblyIsIncluded()
                {
                    var assembly = AppDomain.CurrentDomain.GetAssemblies().First();
                    var scanner  = new RouteScanner();

                    scanner.Include(assembly);
                    scanner.CheckIsIncluded(assembly).ShouldBeTrue();
                }
Beispiel #7
0
                public void ReturnsFalseWhenAssemblyIsNotIncluded()
                {
                    var assemblies = AppDomain.CurrentDomain.GetAssemblies();
                    var assembly1  = assemblies[0];
                    var assembly2  = assemblies[2];
                    var scanner    = new RouteScanner();

                    scanner.Include(assembly1);
                    scanner.CheckIsIncluded(assembly2).ShouldBeFalse();
                }
Beispiel #8
0
            public void IncludesTypes()
            {
                var scanner = new RouteScanner();

                scanner.IncludedTypes().Count.ShouldBe(0);

                scanner.Include(typeof(Route));

                scanner.IncludedTypes().Count.ShouldBe(1);
                scanner.IncludedTypes()[0].ShouldBe(typeof(Route));
            }
Beispiel #9
0
            public void IncludesNamespaces()
            {
                const string ns      = "Grapevine.Tests.Server";
                var          scanner = new RouteScanner();

                scanner.IncludedNamespaces().Count.ShouldBe(0);

                scanner.Include(ns);

                scanner.IncludedNamespaces().Count.ShouldBe(1);
                scanner.IncludedNamespaces()[0].ShouldBe(ns);
            }
Beispiel #10
0
            public void IncludesAssemblies()
            {
                var assembly = AppDomain.CurrentDomain.GetAssemblies().First();
                var scanner  = new RouteScanner();

                scanner.IncludedAssemblies().Count.ShouldBe(0);

                scanner.Include(assembly);

                scanner.IncludedAssemblies().Count.ShouldBe(1);
                scanner.IncludedAssemblies()[0].ShouldBe(assembly);
            }
Beispiel #11
0
            public void SkipsDuplicateTypes()
            {
                var scanner = new RouteScanner();

                scanner.IncludedTypes().Count.ShouldBe(0);

                scanner.Include <Route>();

                scanner.IncludedTypes().Count.ShouldBe(1);
                scanner.IncludedTypes()[0].ShouldBe(typeof(Route));

                scanner.Include(typeof(Router));

                scanner.IncludedTypes().Count.ShouldBe(2);
                scanner.IncludedTypes()[0].ShouldBe(typeof(Route));
                scanner.IncludedTypes()[1].ShouldBe(typeof(Router));

                scanner.Include(typeof(Route));

                scanner.IncludedTypes().Count.ShouldBe(2);
                scanner.IncludedTypes()[0].ShouldBe(typeof(Route));
                scanner.IncludedTypes()[1].ShouldBe(typeof(Router));
            }
Beispiel #12
0
            public void ReturnsRoutesAndLogsWithInclusions()
            {
                var logger  = new InMemoryLogger();
                var scanner = new RouteScanner {
                    Logger = logger
                };

                scanner.Include(Assembly.GetExecutingAssembly());
                logger.Logs.ShouldBeEmpty();

                var routes = scanner.Scan();

                routes.ShouldNotBeNull();
                routes.Count.ShouldBe(2);
                logger.Logs.ShouldNotBeEmpty();
            }