public void TestMethod4b() { var dependencyResolver = new Leos.DependencyResolver.DependencyResolver(new Logger()); dependencyResolver.Bind<IAnimal>().To<Dog>().When<AnimalType>().IsEqualTo(AnimalType.Dog); dependencyResolver.Bind<IAnimal>().To<Cat>().When<AnimalType>().IsEqualTo(AnimalType.Cat); var animalCage = new AnimalCage(); animalCage.AnimalType = AnimalType.Dog; dependencyResolver.ResolveDependencies(animalCage); Assert.IsTrue(animalCage.Animal is Dog); animalCage.GreetAnimal(); animalCage.AnimalType = AnimalType.Cat; dependencyResolver.ResolveDependencies(animalCage); Assert.IsTrue(animalCage.Animal is Cat); animalCage.GreetAnimal(); animalCage.AnimalType = AnimalType.Rabbit; try { dependencyResolver.ResolveDependencies(animalCage); } catch (ServiceNotFoundException) { // correct! There is no binding for IAnimal when 'AnimalType = Rabbit' } }
public void TestMethod1b() { var dependencyResolver = new Leos.DependencyResolver.DependencyResolver("DependencyResolverTests_Tutorial01b", new Logger()); var animalCage = new AnimalCage(); dependencyResolver.ResolveDependencies(animalCage); Assert.IsNotNull(animalCage.Animal, "Dependency could not be resolved"); animalCage.GreetAnimal(); }
public void TestMethod4a() { var dependencyResolver = new Leos.DependencyResolver.DependencyResolver(new Logger()); dependencyResolver.Bind<IAnimal>().To<Dog>(); // manual binding var animalCage = new AnimalCage(); dependencyResolver.ResolveDependencies(animalCage); Assert.IsNotNull(animalCage.Animal, "Animal1 dependency could not be resolved"); Assert.IsNull(animalCage.Animal2, "Animal2 should not have been resolved"); }
public void TestMethod2b() { var dependencyResolver = new Leos.DependencyResolver.DependencyResolver("DependencyResolverTests_Tutorial02b", new Logger()); var animalCage = new AnimalCage(); animalCage.AnimalType = AnimalType.Dog; dependencyResolver.ResolveDependencies(animalCage); Assert.IsTrue(animalCage.Animal is Dog); animalCage.GreetAnimal(); animalCage.AnimalType = AnimalType.Cat; dependencyResolver.ResolveDependencies(animalCage); Assert.IsTrue(animalCage.Animal is Cat); animalCage.GreetAnimal(); }
public void TestMethod2a() { var dependencyResolver = new Leos.DependencyResolver.DependencyResolver("DependencyResolverTests_Tutorial02a", new Logger()); var animalCage = new AnimalCage(); try { dependencyResolver.ResolveDependencies(animalCage); Assert.Fail("Expected exception of type 'QueryablePropertyNotFoundException'"); } catch (QueryablePropertyNotFoundException) { // correct! a queryable property of type AnimalType needs to be defined in class AnimalCage } }
public void TestMethod1a() { var dependencyResolver = new Leos.DependencyResolver.DependencyResolver("DependencyResolverTests_Tutorial01a", new Logger()); var animalCage = new AnimalCage(); try { dependencyResolver.ResolveDependencies(animalCage); Assert.Fail("Expected exception of type 'ServiceNotFoundException'"); } catch(ServiceNotFoundException) { // correct! A service could not be found since we never defined a class to resolve the 'IAnimal' dependency } }