public void find_by_null_category_with_multiple_chains_but_only_one_is_default_2() { var search = new ChainSearch { CategoryMode = CategorySearchMode.Relaxed, CategoryOrHttpMethod = null }; var chain1 = new BehaviorChain { UrlCategory = { Category = "something" } }; var chain2 = new BehaviorChain { UrlCategory = { Category = Categories.DEFAULT } }; var chains = new BehaviorChain[] { chain1, chain2 }; search.FindForCategory(chains).Single().ShouldBeTheSameAs(chain2); }
public void find_by_category_when_the_category_is_null_and_relaxed_search_and_only_one_chain() { var search = new ChainSearch { CategoryMode = CategorySearchMode.Relaxed, CategoryOrHttpMethod = null }; var chains = new BehaviorChain[] { new BehaviorChain(), }; search.FindForCategory(chains).Single().ShouldBeTheSameAs(chains.Single()); }
public void find_by_category_when_the_category_is_null_and_relaxed_search_and_only_one_chain_2() { var search = new ChainSearch { CategoryMode = CategorySearchMode.Relaxed, CategoryOrHttpMethod = null }; var chain1 = new RoutedChain("something"); chain1.UrlCategory.Category = Categories.DEFAULT; var chains = new BehaviorChain[] { chain1, }; search.FindForCategory(chains).Single().ShouldBeTheSameAs(chains.Single()); }
public void find_by_category_relaxed_with_only_one_chain() { var search = new ChainSearch { CategoryMode = CategorySearchMode.Relaxed, CategoryOrHttpMethod = "something" }; var chain3 = new BehaviorChain { UrlCategory = { Category = null } }; var chains = new BehaviorChain[] { chain3 }; search.FindForCategory(chains).ShouldHaveTheSameElementsAs(chain3); }
public void find_by_category_strict_with_only_one_chain_that_does_not_match_still_returns_nothing() { var search = new ChainSearch { CategoryMode = CategorySearchMode.Strict, CategoryOrHttpMethod = "something" }; var chain3 = new BehaviorChain { UrlCategory = { Category = null } }; var chains = new BehaviorChain[] { chain3 }; search.FindForCategory(chains).Any().ShouldBeFalse(); }
public void find_by_category_strict_with_multiple_chains_by_method() { var search = new ChainSearch { CategoryMode = CategorySearchMode.Strict, CategoryOrHttpMethod = "POST" }; var chain1 = new BehaviorChain { Route = new RouteDefinition("whatever"), UrlCategory = { Category = "something" } }; chain1.Route.AllowedHttpMethods.Add("POST"); var chain2 = new BehaviorChain { UrlCategory = { Category = Categories.DEFAULT } }; var chain3 = new BehaviorChain { UrlCategory = { Category = null } }; var chains = new BehaviorChain[] { chain1, chain2, chain3 }; search.FindForCategory(chains).ShouldHaveTheSameElementsAs(chain1); }
public void find_by_category_strict_with_multiple_chains_2() { var search = new ChainSearch { CategoryMode = CategorySearchMode.Strict, CategoryOrHttpMethod = "something" }; var chain1 = new BehaviorChain { UrlCategory = { Category = "different" } }; var chain2 = new BehaviorChain { UrlCategory = { Category = Categories.DEFAULT } }; var chain3 = new BehaviorChain { UrlCategory = { Category = "else" } }; var chains = new BehaviorChain[] { chain1, chain2, chain3 }; search.FindForCategory(chains).Any().ShouldBeFalse(); }
public void find_by_category_strict_with_multiple_chains_1() { var search = new ChainSearch { CategoryMode = CategorySearchMode.Strict, CategoryOrHttpMethod = "something" }; var chain1 = new BehaviorChain { UrlCategory = { Category = "something" } }; var chain2 = new BehaviorChain { UrlCategory = { Category = Categories.DEFAULT } }; var chain3 = new BehaviorChain { UrlCategory = { Category = null } }; var chains = new BehaviorChain[] { chain1, chain2, chain3 }; search.FindForCategory(chains).ShouldHaveTheSameElementsAs(chain1); }
public void find_by_null_category_with_multiple_chains_but_none_is_marked_default() { var search = new ChainSearch { CategoryMode = CategorySearchMode.Relaxed, CategoryOrHttpMethod = null }; var chain1 = new BehaviorChain { UrlCategory = { Category = "something" } }; var chain2 = new BehaviorChain { UrlCategory = { Category = "else" } }; var chain3 = new BehaviorChain { UrlCategory = { Category = null } }; var chains = new BehaviorChain[] { chain1, chain2, chain3 }; search.FindForCategory(chains).ShouldHaveTheSameElementsAs(chain3); }
public void find_by_null_category_with_multiple_chains_but_only_one_is_default_3() { var search = new ChainSearch { CategoryMode = CategorySearchMode.Relaxed, CategoryOrHttpMethod = null }; var chain1 = new RoutedChain("") { UrlCategory = { Category = "something" } }; var chain2 = new RoutedChain("") { UrlCategory = { Category = Categories.DEFAULT } }; var chain3 = new RoutedChain("") { UrlCategory = { Category = Categories.DEFAULT } }; var chains = new BehaviorChain[] { chain1, chain2, chain3 }; search.FindForCategory(chains).ShouldHaveTheSameElementsAs(chain2, chain3); }