void UpdateTeamsPredicates() { Filters.IgnoreEvents = true; TeamsPredicate.Clear(); foreach (var team in new LMTeamVM [] { homeTeamVM, awayTeamVM }) { var teamPredicate = new OrPredicate <TimelineEventVM> { Name = team.Name, }; teamPredicate.Add(new Predicate { Name = Catalog.GetString("Team"), Expression = ev => (ev.Model as LMTimelineEvent).TaggedTeams.Contains(team.Model) }); foreach (var player in team) { teamPredicate.Add(new Predicate { Name = player.Model.Name, Expression = ev => (ev.Model as LMTimelineEvent).Players.Contains(player.Model) }); } TeamsPredicate.Add(teamPredicate); } Filters.IgnoreEvents = false; RaisePropertyChanged("Collection", this); }
public void TestOrContainingAnd() { var filter = new AndPredicate <string> { new Predicate <string> { Expression = (ev) => true }, new Predicate <string> { Expression = (ev) => false }, }; var filter2 = new AndPredicate <string> { new Predicate <string> { Expression = (ev) => true }, new Predicate <string> { Expression = (ev) => true }, }; var container = new OrPredicate <string> (); container.Add(filter); container.Add(filter2); Assert.IsTrue(container.Filter("")); }
public void TestOrEvents() { // Arrange string property = ""; int count = 0; var filter = new OrPredicate <string> (); filter.PropertyChanged += (sender, e) => { property = e.PropertyName; count++; }; // Act filter.Add(new Predicate <string> { Expression = (ev) => true }); //Assert Assert.AreEqual("Collection_Elements", property); Assert.AreEqual(1, count); }
public void TestActiveEvents() { // Arrange string property = ""; int count = 0; var filter = new OrPredicate <string> (); var predicate = new Predicate <string> { Expression = (ev) => true }; filter.Add(predicate); filter.PropertyChanged += (sender, e) => { property = e.PropertyName; count++; }; // Act predicate.Active = false; //Assert Assert.AreEqual("Active", property); Assert.AreEqual(1, count); }