public void CanAddNewAssembly() { var sweeper = new ServiceLocationAssemblyScanner(); var assemblies = AppDomain.CurrentDomain.GetAssemblies().ToList(); var temp = assemblies.First(); Assert.IsFalse(sweeper.HasNewAssemblies); sweeper.AddAssembly(temp); Assert.IsTrue(sweeper.HasNewAssemblies); Assert.AreEqual(1,sweeper._assemblies.Count); }
public void CanGetRegistrarTypes() { var sweeper = new ServiceLocationAssemblyScanner(); Assert.IsFalse(sweeper.HasNewAssemblies); sweeper.AddAssembly(this.GetType().Assembly); Assert.IsTrue(sweeper.HasNewAssemblies); var types = sweeper.GetRegistrarTypes().ToList(); Assert.IsTrue(sweeper.HasNewAssemblies); Assert.AreEqual(2, types.Count()); Assert.IsTrue(types.Contains(typeof(TestRegistrar))); Assert.IsTrue(types.Contains(typeof(OtherTestRegistrar))); }
public void CanGetNewRegistrars() { var sweeper = new ServiceLocationAssemblyScanner(); var assemblies = AppDomain.CurrentDomain.GetAssemblies().ToList(); Assert.IsFalse(sweeper.HasNewAssemblies); var registrars = sweeper.GetRegistrars(); Assert.IsFalse(sweeper.HasNewAssemblies); Assert.AreEqual(0, registrars.Count()); sweeper.AddAssembly( this.GetType().Assembly ); Assert.IsTrue(sweeper.HasNewAssemblies); registrars = sweeper.GetRegistrars(); Assert.IsFalse(sweeper.HasNewAssemblies); Assert.AreEqual(2, registrars.Count()); }
public void ExistingRegistrarIsOverwritenWhenNewAssemblyFoundThatContainsIt() { bool getRegistrarsCalled = false; var sweeper = new ServiceLocationAssemblyScanner(); sweeper._registrars.Add(typeof(TestRegistrar)); sweeper.HasNewAssemblies = true; sweeper.GetRegistrarTypes = () => { getRegistrarsCalled = true; return new List<Type>() { typeof(TestRegistrar) }; }; var regs = sweeper.GetRegistrars().ToList(); Assert.IsTrue(getRegistrarsCalled); Assert.AreEqual(1, regs.Count()); Assert.IsTrue(regs.First() is TestRegistrar); Assert.AreEqual(1, sweeper._registrars.Count); Assert.AreEqual(typeof(TestRegistrar), sweeper._registrars.First()); }
public void NewRegistrarsIfNewAssembliesPresent() { bool getRegistrarsCalled = false; var sweeper = new ServiceLocationAssemblyScanner(); sweeper.HasNewAssemblies = true; sweeper.GetRegistrarTypes = () => { getRegistrarsCalled = true; return new List<Type>() { typeof(TestRegistrar)}; }; var regs = sweeper.GetRegistrars().ToList(); Assert.IsTrue(getRegistrarsCalled); Assert.AreEqual(1, regs.Count()); Assert.IsTrue(regs.First() is TestRegistrar); }
public void NoNewRegistrarsIfNoNewAssemblies() { bool getRegistrarsCalled = false; var sweeper = new ServiceLocationAssemblyScanner(); sweeper.GetRegistrarTypes = () => { getRegistrarsCalled = false; return new List<Type>(); }; var regs = sweeper.GetRegistrars(); Assert.IsFalse(getRegistrarsCalled); Assert.AreEqual(0, regs.Count()); }
public void CanGetRegistrarTypesWithEmptyAssembliesCollection() { var sweeper = new ServiceLocationAssemblyScanner(); Assert.IsFalse(sweeper.HasNewAssemblies); var types = sweeper.GetRegistrarTypes().ToList(); Assert.IsFalse(sweeper.HasNewAssemblies); Assert.AreEqual(0, types.Count()); }
public void CanGetRegistrarTypesWithAssemblyThatHasNoRegistrars() { var sweeper = new ServiceLocationAssemblyScanner(); Assert.IsFalse(sweeper.HasNewAssemblies); var assemblies = AppDomain.CurrentDomain.GetAssemblies().ToList(); var temp = assemblies.First(); sweeper.AddAssembly(temp); Assert.IsTrue(sweeper.HasNewAssemblies); var types = sweeper.GetRegistrarTypes().ToList(); Assert.IsTrue(sweeper.HasNewAssemblies); Assert.AreEqual(0, types.Count()); }