public void RegisterTypeMapping_K_IType_Test4() { ActivatingServiceLocator ASLocator = new ActivatingServiceLocator(); ActivatingServiceLocator ASLocator2 = ASLocator.RegisterTypeMapping(typeof(IInterface1), typeof(FirstClass1) , "Key1", InstantiationType.AsSingleton); Assert.IsNotNull(ASLocator2, "RegisterTypeMapping method returned null"); Assert.AreEqual(ASLocator2.GetType().ToString(), ASLocator.GetType().ToString(), "Return type does not match ActivatingServiceLocator"); Assert.IsTrue(ASLocator2.IsTypeRegistered <IInterface1>(), "Failed to register the type"); object FirstClass1Object = ASLocator.GetInstance(typeof(IInterface1), "Key1"); Assert.AreEqual(FirstClass1Object.GetType().Name, "FirstClass1"); //Singleton instance check. object FirstClass1Object2 = ASLocator.GetInstance(typeof(IInterface1), "Key1"); Assert.AreEqual(FirstClass1Object, FirstClass1Object2); //reregistration checking for Singleton. ASLocator.RegisterTypeMapping(typeof(IInterface1), typeof(FirstClass1), "Key1", InstantiationType.AsSingleton); object FirstClass1Object3 = ASLocator.GetInstance(typeof(IInterface1), "Key1"); Assert.AreEqual(FirstClass1Object, FirstClass1Object3); }
public void CanRegisterSingleton() { ActivatingServiceLocator locator = new ActivatingServiceLocator(); locator.RegisterTypeMapping(TypeMapping.Create <IMyObject, MyObject>(InstantiationType.AsSingleton)); Assert.AreSame(locator.GetInstance <IMyObject>(), locator.GetInstance <IMyObject>()); }
public void ResolveAllRetrievesSingletons() { ActivatingServiceLocator locator = new ActivatingServiceLocator(); locator.RegisterTypeMapping(TypeMapping.Create <IMyObject, MyObject>("key1", InstantiationType.AsSingleton)); locator.RegisterTypeMapping(TypeMapping.Create <IMyObject, MyObject2>("key2", InstantiationType.AsSingleton)); Assert.AreSame(locator.GetInstance <IMyObject>("key1"), locator.GetInstance <IMyObject>("key1")); var all1 = locator.GetAllInstances <IMyObject>(); var all2 = locator.GetAllInstances <IMyObject>(); Assert.AreEqual(all1.First(), all2.First()); Assert.AreEqual(all1.Skip(1).First(), all2.Skip(1).First()); }
public void RegisterTypeMapping_From_To_ITypeTestKey1() { ActivatingServiceLocator ASLocator = new ActivatingServiceLocator(); ActivatingServiceLocator ASLocator2 = ASLocator.RegisterTypeMapping <IInterface1, FirstClass1>("Key1", InstantiationType.NewInstanceForEachRequest); Assert.IsNotNull(ASLocator2, "RegisterTypeMapping method returned null"); Assert.AreEqual(ASLocator2.GetType().ToString(), ASLocator.GetType().ToString(), "Return type does not match ActivatingServiceLocator"); Assert.IsTrue(ASLocator2.IsTypeRegistered <IInterface1>(), "Failed to register the type"); object FirstClass1Object = ASLocator.GetInstance(typeof(IInterface1), "Key1"); Assert.AreEqual(FirstClass1Object.GetType().Name, "FirstClass1"); //Code to check for new instance. Objects should be different instances of same class, not a singleton. object FirstClass1Object2 = ASLocator.GetInstance(typeof(IInterface1), "Key1"); Assert.AreNotEqual(FirstClass1Object, FirstClass1Object2); }
public void LastRegistrationWins() { var target = new ActivatingServiceLocator(); target.RegisterTypeMapping <IMyObject, MyObject>(); target.RegisterTypeMapping <IMyObject, MyObject2>(); Assert.IsInstanceOfType(target.GetInstance <IMyObject>(), typeof(MyObject2)); }
public void GetWithoutKeyThrows() { var target = new ActivatingServiceLocator(); target.RegisterTypeMapping <IMyObject, MyObject>("key1"); var result = target.GetInstance <IMyObject>(); Assert.IsInstanceOfType(result, typeof(MyObject)); }
public void CanRegisterAndResolveTypeMapping() { var target = new ActivatingServiceLocator(); target.RegisterTypeMapping <IMyObject, MyObject>(); var result = target.GetInstance <IMyObject>(); Assert.IsInstanceOfType(result, typeof(MyObject)); }
public void CanRegisterWithValidTypes() { ActivatingServiceLocator locator = new ActivatingServiceLocator(); locator.RegisterTypeMapping(typeof(IMyObject2), typeof(MyObject3)); var instance = locator.GetInstance <IMyObject2>(); Assert.IsInstanceOfType(instance, typeof(MyObject3)); }
public void CanRegisterMultipleTypes() { var target = new ActivatingServiceLocator(); target.RegisterTypeMapping <IMyObject, MyObject>("key1"); target.RegisterTypeMapping <IMyObject, MyObject2>("key2"); var result = target.GetInstance <IMyObject>("key1"); Assert.IsInstanceOfType(result, typeof(MyObject)); }
public void RegisterTypeMapping_Test1() { ActivatingServiceLocator ASLocator = new ActivatingServiceLocator(); ActivatingServiceLocator ASLocator2 = ASLocator.RegisterTypeMapping(typeof(IInterface1), typeof(FirstClass1)); Assert.IsNotNull(ASLocator2, "RegisterTypeMapping method returned null"); Assert.AreEqual(ASLocator2.GetType().ToString(), ASLocator.GetType().ToString(), "Return type does not match ActivatingServiceLocator"); Assert.IsTrue(ASLocator2.IsTypeRegistered <IInterface1>(), "Failed to register the type"); object FirstClass1Object = ASLocator.GetInstance(typeof(IInterface1)); Assert.AreEqual(FirstClass1Object.GetType().Name, "FirstClass1"); }
public void CanResolveByKey() { //Arrange var target = new ActivatingServiceLocator(); //Act target.RegisterTypeMapping <IMyObject, MyObject>("key1"); target.RegisterTypeMapping <IMyObject, MyObject2>("key2"); //Assert var result = target.GetInstance <IMyObject>("key2"); Assert.IsInstanceOfType(result, typeof(MyObject2)); }
public void LoadTypeMappings2_Test() { ActivatingServiceLocatorFactory factory = new ActivatingServiceLocatorFactory(); IServiceLocator servicelocator = factory.Create(); List <TypeMapping> typeMappings = new List <TypeMapping>(); typeMappings.Add(new TypeMapping(typeof(IInterface1), typeof(FirstClass1), null)); factory.LoadTypeMappings(servicelocator, typeMappings); ActivatingServiceLocator AserviceLoc = servicelocator as ActivatingServiceLocator; Assert.IsTrue(AserviceLoc.IsTypeRegistered <IInterface1>(), "Failed to register the type"); object FirstClass1Object = AserviceLoc.GetInstance(typeof(IInterface1)); Assert.AreEqual(FirstClass1Object.GetType().Name, "FirstClass1"); }