Ejemplo n.º 1
0
        public void load_duplicate_assembly_attempt_from_file_for_a_new_assembly()
        {
            var assembly = Assembly.GetExecutingAssembly();
            var package1 = new StubPackage("something")
            {
                LoadingAssemblies = x => x.Use(assembly)
            };

            ClassUnderTest.LoadAssembliesFromPackage(package1);

            var assemblyFileLoader = MockFor <Func <string, Assembly> >();

            ClassUnderTest.AssemblyFileLoader = assemblyFileLoader;

            var theAssemblyName = assembly.GetName().Name;
            var package         = new StubPackage("something")
            {
                LoadingAssemblies = x => x.LoadFromFile("filename.dll", theAssemblyName)
            };

            assemblyFileLoader.Expect(x => x.Invoke("filename.dll")).Return(assembly);

            ClassUnderTest.LoadAssembliesFromPackage(package);

            MockFor <IPackagingDiagnostics>().AssertWasCalled(x => x.LogDuplicateAssembly(package, theAssemblyName));


            ClassUnderTest.Assemblies.Count.ShouldEqual(1);
        }
Ejemplo n.º 2
0
        public void log_a_duplicate_assembly()
        {
            var package = new StubPackage("a");
            diagnostics.LogDuplicateAssembly(package, "Duplicate.Assembly");

            diagnostics.LogFor(package).FullTraceText().ShouldContain("Assembly 'Duplicate.Assembly' was ignored because it is already loaded");
        }
Ejemplo n.º 3
0
        public void log_a_duplicate_assembly()
        {
            var package = new StubPackage("a");

            diagnostics.LogDuplicateAssembly(package, "Duplicate.Assembly");

            diagnostics.LogFor(package).FullTraceText().ShouldContain("Assembly 'Duplicate.Assembly' was ignored because it is already loaded");
        }
Ejemplo n.º 4
0
        public void SetUp()
        {
            diagnostics = new PackagingDiagnostics();
            package     = new StubPackage("a");
            assembly    = Assembly.GetExecutingAssembly();

            theProvenance = "from here";
            diagnostics.LogAssembly(package, assembly, theProvenance);
        }
Ejemplo n.º 5
0
        public void SetUp()
        {
            diagnostics = new PackagingDiagnostics();

            loader  = new StubPackageLoader("a", "b");
            package = new StubPackage("a");

            diagnostics.LogPackage(package, loader);
        }
Ejemplo n.º 6
0
        public void log_an_assembly_failure()
        {
            var package = new StubPackage("a");
            var exception = new ApplicationException("didn't work");
            var theFileNameOfTheAssembly = "assembly.dll";
            diagnostics.LogAssemblyFailure(package, theFileNameOfTheAssembly, exception);

            var log = diagnostics.LogFor(package);

            log.Success.ShouldBeFalse();
            log.FullTraceText().Contains(exception.ToString()).ShouldBeTrue();

            log.FullTraceText().ShouldContain("Failed to load assembly at '{0}'".ToFormat(theFileNameOfTheAssembly));
        }
Ejemplo n.º 7
0
        public void log_an_assembly_failure()
        {
            var package   = new StubPackage("a");
            var exception = new ApplicationException("didn't work");
            var theFileNameOfTheAssembly = "assembly.dll";

            diagnostics.LogAssemblyFailure(package, theFileNameOfTheAssembly, exception);

            var log = diagnostics.LogFor(package);

            log.Success.ShouldBeFalse();
            log.FullTraceText().Contains(exception.ToString()).ShouldBeTrue();

            log.FullTraceText().ShouldContain("Failed to load assembly at '{0}'".ToFormat(theFileNameOfTheAssembly));
        }
Ejemplo n.º 8
0
        public void log_successful_registration_of_an_assembly()
        {
            var assembly = Assembly.GetExecutingAssembly();

            var package = new StubPackage("something")
            {
                LoadingAssemblies = x => x.Use(assembly)
            };

            ClassUnderTest.LoadAssembliesFromPackage(package);

            MockFor <IPackagingDiagnostics>().AssertWasCalled(x => x.LogAssembly(package, assembly, AssemblyLoader.DIRECTLY_REGISTERED_MESSAGE));


            ClassUnderTest.Assemblies.Contains(assembly).ShouldBeTrue();
        }
Ejemplo n.º 9
0
        public void find_children()
        {
            var log = new PackageRegistryLog();

            var loader1 = new StubPackageLoader();
            var loader2 = new StubPackageLoader();
            var loader3 = new StubPackageLoader();

            var package1 = new StubPackage("1");
            var package2 = new StubPackage("2");
            var package3 = new StubPackage("3");

            log.AddChild(loader1, loader2, loader3, package1, package2, package3);

            log.FindChildren <IPackageLoader>().ShouldHaveTheSameElementsAs(loader1, loader2, loader3);

            log.FindChildren <IPackageInfo>().ShouldHaveTheSameElementsAs(package1, package2, package3);
        }
Ejemplo n.º 10
0
        public void find_children()
        {
            var log = new PackageLog();

            var loader1 = new StubPackageLoader();
            var loader2 = new StubPackageLoader();
            var loader3 = new StubPackageLoader();

            var package1 = new StubPackage("1");
            var package2 = new StubPackage("2");
            var package3 = new StubPackage("3");

            log.AddChild(loader1, loader2, loader3, package1, package2, package3);

            log.FindChildren<IPackageLoader>().ShouldHaveTheSameElementsAs(loader1, loader2, loader3);

            log.FindChildren<IPackageInfo>().ShouldHaveTheSameElementsAs(package1, package2, package3);
        }
Ejemplo n.º 11
0
        public void load_unsuccessfully_from_file_for_a_new_assembly()
        {
            var assemblyFileLoader = MockFor <Func <string, Assembly> >();

            ClassUnderTest.AssemblyFileLoader = assemblyFileLoader;

            var package = new StubPackage("something")
            {
                LoadingAssemblies = x => x.LoadFromFile("filename.dll", "AssemblyName")
            };

            var theExceptionFromAssemblyLoading = new ApplicationException("You shall not pass!");

            assemblyFileLoader.Expect(x => x.Invoke("filename.dll")).Throw(theExceptionFromAssemblyLoading);

            ClassUnderTest.LoadAssembliesFromPackage(package);

            MockFor <IPackagingDiagnostics>().AssertWasCalled(x => x.LogAssemblyFailure(package, "filename.dll", theExceptionFromAssemblyLoading));
        }
Ejemplo n.º 12
0
        public void log_duplicate_registration_of_an_assembly()
        {
            var assembly = Assembly.GetExecutingAssembly();

            var package1 = new StubPackage("something")
            {
                LoadingAssemblies = x => x.Use(assembly)
            };

            var package2 = new StubPackage("something")
            {
                LoadingAssemblies = x => x.Use(assembly)
            };

            ClassUnderTest.LoadAssembliesFromPackage(package1);
            ClassUnderTest.LoadAssembliesFromPackage(package2);

            MockFor <IPackagingDiagnostics>().AssertWasCalled(x => x.LogDuplicateAssembly(package2, assembly.FullName));
        }
Ejemplo n.º 13
0
        public void load_successfully_from_file_for_a_new_assembly()
        {
            var assembly = Assembly.GetExecutingAssembly();

            var assemblyFileLoader = MockFor <Func <string, Assembly> >();

            ClassUnderTest.AssemblyFileLoader = assemblyFileLoader;

            var package = new StubPackage("something")
            {
                LoadingAssemblies = x => x.LoadFromFile("filename.dll", "AssemblyName")
            };

            assemblyFileLoader.Expect(x => x.Invoke("filename.dll")).Return(assembly);

            ClassUnderTest.LoadAssembliesFromPackage(package);

            MockFor <IPackagingDiagnostics>().AssertWasCalled(x => x.LogAssembly(package, assembly, "Loaded from filename.dll"));
            assemblyFileLoader.VerifyAllExpectations();

            ClassUnderTest.Assemblies.Contains(assembly).ShouldBeTrue();
        }
Ejemplo n.º 14
0
        public void SetUp()
        {
            diagnostics = new PackagingDiagnostics();

            loader = new StubPackageLoader("a", "b");
            package = new StubPackage("a");

            diagnostics.LogPackage(package, loader);
        }
Ejemplo n.º 15
0
        public void SetUp()
        {
            diagnostics = new PackagingDiagnostics();
            package = new StubPackage("a");
            assembly = Assembly.GetExecutingAssembly();

            theProvenance = "from here";
            diagnostics.LogAssembly(package, assembly, theProvenance);
        }