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); }
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); }
public void ReturnsFalseWhenTypeIsNotInIncludes() { var scanner = new RouteScanner(); scanner.Include <Route>(); scanner.CheckIsIncluded(typeof(Router)).ShouldBeFalse(); }
public void ReturnsTrueWhenGenericTypeIsIncluded() { var scanner = new RouteScanner(); scanner.Include <Route>(); scanner.CheckIsIncluded(typeof(Route)).ShouldBeTrue(); }
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; }
public void ReturnsTrueWhenAssemblyIsIncluded() { var assembly = AppDomain.CurrentDomain.GetAssemblies().First(); var scanner = new RouteScanner(); scanner.Include(assembly); scanner.CheckIsIncluded(assembly).ShouldBeTrue(); }
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(); }
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)); }
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); }
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); }
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)); }
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(); }