public void Test_OnlyForWidgets() { var filter = new WidgetFilter("SomeZone", "/"); var page = new StubPage(); Assert.False(filter.Match(page)); }
public void Test_ZoneMustMatch() { var filter = new WidgetFilter("SomeZone", "/"); var widget1 = new StubWidget("SomeZone", null, null); Assert.True(filter.Match(widget1)); var widget2 = new StubWidget("AnotherZone", null, null); Assert.False(filter.Match(widget2)); }
public void Test_DeniedPatternsMustWork() { const string zone = "SomeZone"; var widget = new StubWidget(zone, null, new string[] { "/", "page1/*", "page2*", "page3", "/page11/*", "/page12*", "/page13" }); var filter = new WidgetFilter(zone, "/"); Assert.False(filter.Match(widget)); filter = new WidgetFilter(zone, "/foo/bar"); Assert.True(filter.Match(widget)); filter = new WidgetFilter(zone, "/page1"); Assert.True(filter.Match(widget)); filter = new WidgetFilter(zone, "/page1/page2"); Assert.False(filter.Match(widget)); filter = new WidgetFilter(zone, "/page11"); Assert.True(filter.Match(widget)); filter = new WidgetFilter(zone, "/page11/page2"); Assert.False(filter.Match(widget)); filter = new WidgetFilter(zone, "/page2"); Assert.False(filter.Match(widget)); filter = new WidgetFilter(zone, "/page2/page3"); Assert.False(filter.Match(widget)); filter = new WidgetFilter(zone, "/page12"); Assert.False(filter.Match(widget)); filter = new WidgetFilter(zone, "/page12/page3"); Assert.False(filter.Match(widget)); filter = new WidgetFilter(zone, "/page3"); Assert.False(filter.Match(widget)); filter = new WidgetFilter(zone, "/page3/page4"); Assert.True(filter.Match(widget)); filter = new WidgetFilter(zone, "/page13"); Assert.False(filter.Match(widget)); filter = new WidgetFilter(zone, "/page13/page4"); Assert.True(filter.Match(widget)); }
private static IQueryable <Event> FilterQuery(IQueryable <Event> events, WidgetFilter filter) { if (string.IsNullOrWhiteSpace(filter.Value)) { return(events); } switch (filter.Name) { case "Name": return(events.Where(x => x.Name.Contains(filter.Value))); case "Date": return(events.Where(x => x.CreatedOn.ToString().Contains(filter.Value))); case "UniqueId": return(events.Where(x => x.UniqueId.ToString().Contains(filter.Value))); default: return(events.Where(x => x.Values.Any(y => y.Name == filter.Name && y.Value.Contains(filter.Value)))); } }
public void Test_AllowedPatternsMustWork() { const string zone = "SomeZone"; var widget = new StubWidget(zone, new string[] { "/page1*" }, new string[] { "*/details/*" }); var filter = new WidgetFilter(zone, "/foo/bar"); Assert.False(filter.Match(widget)); filter = new WidgetFilter(zone, "/page1"); Assert.True(filter.Match(widget)); filter = new WidgetFilter(zone, "/page1/a/b/c"); Assert.True(filter.Match(widget)); filter = new WidgetFilter(zone, "/page1/details/c"); Assert.False(filter.Match(widget)); filter = new WidgetFilter(zone, "/page1/a/b/details/c"); Assert.False(filter.Match(widget)); }
public static WidgetListRequestBuilder List(WidgetFilter filter = null, FilterPager pager = null) { return(new WidgetListRequestBuilder(filter, pager)); }
public WidgetListRequestBuilder(WidgetFilter filter, FilterPager pager) : this() { this.Filter = filter; this.Pager = pager; }