/src/Ninject.Tests/Integration/ModuleLoadingTests.cs
https://github.com/developingchris/ninject · C# · 39 lines · 33 code · 6 blank · 0 comment · 0 complexity · 1bb33f8e8d90597a94ac1b6efdd7ae19 MD5 · raw file
- using System;
- using System.IO;
- using System.Linq;
- using System.Reflection;
- using Ninject.Activation.Blocks;
- using Ninject.Tests.Fakes;
- using Xunit;
- using Xunit.Should;
- namespace Ninject.Tests.Integration.ModuleLoadingTests
- {
- public class ModuleLoadingContext
- {
- protected readonly StandardKernel kernel;
- protected readonly string assemblyFilename = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"TestModules\Ninject.Tests.TestModule.dll");
- public ModuleLoadingContext()
- {
- kernel = new StandardKernel();
- }
- }
- public class WhenLoadIsCalledWithAssemblies : ModuleLoadingContext
- {
- [Fact]
- public void ModulesContainedInAssembliesAreLoaded()
- {
- var assembly = Assembly.Load(new AssemblyName { CodeBase = assemblyFilename });
- kernel.Load(assembly);
- var modules = kernel.GetModules().ToArray();
- modules.ShouldNotBeEmpty();
- modules[0].ShouldBeInstanceOf(assembly.GetType("Ninject.Tests.TestModules.TestModule"));
- modules[0].Kernel.ShouldBe(kernel);
- }
- }
- }