public void CanAddExistingAssembly()
        {
            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);
            
            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 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());
        }