PageRenderTime 46ms CodeModel.GetById 24ms RepoModel.GetById 1ms app.codeStats 0ms

/src/Ninject.Tests/Integration/ModuleLoadingTests.cs

https://github.com/ALyman/ninject
C# | 41 lines | 35 code | 6 blank | 0 comment | 0 complexity | 804c39f2cc59207529314f839f6cf260 MD5 | raw file
  1. #if !NO_ASSEMBLY_SCANNING
  2. using System;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Reflection;
  6. using Ninject.Activation.Blocks;
  7. using Ninject.Tests.Fakes;
  8. using Xunit;
  9. using Xunit.Should;
  10. namespace Ninject.Tests.Integration.ModuleLoadingTests
  11. {
  12. public class ModuleLoadingContext
  13. {
  14. protected readonly StandardKernel kernel;
  15. protected readonly string assemblyFilename = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"TestModules\Ninject.Tests.TestModule.dll");
  16. public ModuleLoadingContext()
  17. {
  18. kernel = new StandardKernel();
  19. }
  20. }
  21. public class WhenLoadIsCalledWithAssemblies : ModuleLoadingContext
  22. {
  23. [Fact(Skip = "Issue with signing in NAnt exception, need to investigate")]
  24. public void ModulesContainedInAssembliesAreLoaded()
  25. {
  26. var assembly = Assembly.Load(new AssemblyName { CodeBase = assemblyFilename });
  27. kernel.Load(assembly);
  28. var modules = kernel.GetModules().ToArray();
  29. modules.ShouldNotBeEmpty();
  30. modules[0].ShouldBeInstanceOf(assembly.GetType("Ninject.Tests.TestModules.TestModule"));
  31. modules[0].Kernel.ShouldBe(kernel);
  32. }
  33. }
  34. }
  35. #endif //!NO_ASSEMBLY_SCANNING