Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. private static IContainer _container;
  2.  
  3.  
  4. private static IContainer RegisterDependencies(string path)
  5. {
  6. var builder = new ContainerBuilder();
  7.  
  8. //We do not want to use AutoFac NamedParameter with strings (useless extra dependencies)
  9. var ctors = typeof(JsonRepository).GetConstructors();
  10. Assert.IsTrue(ctors.Count() == 1);
  11. var ctor = ctors[0];
  12. var parameters = ctor.GetParameters().Select(param => param.Name).ToList();
  13. Assert.IsTrue(parameters.Count == 1);
  14. builder.RegisterType<JsonRepository>().As<IRepository>().WithParameters(new[]
  15. {
  16. new NamedParameter(parameters[0], path)
  17. });
  18.  
  19. var container = builder.Build();
  20. return container;
  21. }
  22.  
  23. [ClassInitialize]
  24. public static void ClassInit(TestContext context)
  25. {
  26. JsonRepository.RegisterCollection<Person>();
  27. _container = RegisterDependencies(@"C:/Assurware/JsonCollections");
  28.  
  29. using (var scope = _container.BeginLifetimeScope())
  30. {
  31. var repository = scope.Resolve<IRepository>();
  32.  
  33. }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement