public void Test_LocateFromInterfaces_Immediate() { Type type = typeof(IEntity); string action = "Save"; StrategyStateNameValueCollection strategies = new StrategyStateNameValueCollection(); strategies.Add(typeof(SaveStrategy)); strategies.Add(typeof(UpdateStrategy)); StrategyLocator locator = new StrategyLocator(strategies); StrategyInfo info = locator.LocateFromInterfaces(action,type); Assert.IsNotNull(info, "No strategy info found."); }
/// <summary> /// Tests the LocateFromInterfaces method where the matching interface is implemented by a base type. /// </summary> public void Test_LocateFromInterfaces_Heirarchy() { Type type = typeof(TestArticle); string action = "Save"; StrategyStateNameValueCollection strategies = new StrategyStateNameValueCollection(); strategies.Add(typeof(SaveStrategy)); // Save-IEntity strategies.Add(typeof(UpdateStrategy)); // Update-IEntity StrategyLocator locator = new StrategyLocator(strategies); StrategyInfo info = locator.LocateFromInterfaces(action, type); Assert.IsNotNull(info, "No strategy info found."); }
public void Test_Locate_CustomOverride() { string type = "Widget"; string action = "Index"; StrategyStateNameValueCollection strategies = new StrategyStateNameValueCollection(); strategies.Add(typeof(IndexStrategy)); strategies.Add(typeof(MockIndexWidgetStrategy)); StrategyLocator locator = new StrategyLocator(strategies); StrategyInfo info = locator.Locate(action, type); Assert.IsNotNull(info, "No strategy info found."); Type mockStrategyType = new MockIndexWidgetStrategy().GetType(); string expected = mockStrategyType.FullName + ", " + mockStrategyType.Assembly.GetName().Name; Assert.AreEqual(expected, info.StrategyType, "Wrong strategy type selected."); }
public void Test_this_Interface() { StrategyInfo testStrategy = StrategyInfo.ExtractInfo(typeof(RetrieveStrategy))[0]; StrategyStateNameValueCollection collection = new StrategyStateNameValueCollection(); string type = "TestArticle"; string action = "Retrieve"; collection.Add(testStrategy); StrategyInfo foundStrategy = collection[action, type]; Assert.IsNotNull(foundStrategy); }
public void Test_this() { StrategyInfo testStrategy = StrategyInfo.ExtractInfo(typeof(MockRetrieveTestUserStrategy))[0]; StrategyStateNameValueCollection collection = new StrategyStateNameValueCollection(); string type = "TestUser"; string action = "Retrieve"; collection.Add(testStrategy); StrategyInfo foundStrategy = collection[action, type]; Assert.IsNotNull(foundStrategy, "Strategy not found."); }
public void Test_Locate_Basic_MockEntity_PublicEntities_MockPublicEntity() { StrategyStateNameValueCollection strategies = new StrategyStateNameValueCollection(); strategies.Clear(); strategies.Add(typeof(AuthoriseReferenceMockPublicEntityStrategy)); AuthoriseReferenceStrategyLocator locator = new AuthoriseReferenceStrategyLocator(strategies); StrategyInfo strategy = locator.Locate("MockEntity", "PublicEntities", "MockPublicEntity", String.Empty); Assert.IsNotNull(strategy, "No strategy found."); string expectedType = typeof(AuthoriseReferenceMockPublicEntityStrategy).FullName + ", " + typeof(AuthoriseReferenceMockPublicEntityStrategy).Assembly.GetName().Name; Assert.AreEqual(expectedType, strategy.StrategyType, "Wrong strategy info located."); }