public void TestClearAll() { ProjectLongoMatch p = Utils.CreateProject (); try { EventsFilter filter = new EventsFilter (p); filter.FilterPlayer (p.LocalTeamTemplate.List [0], true); Assert.AreEqual (1, filter.VisiblePlays.Count); Assert.AreEqual (1, filter.VisiblePlayers.Count); filter.ClearAll (); Assert.AreEqual (3, filter.VisiblePlays.Count); Assert.AreEqual (10, filter.VisiblePlayers.Count); filter.FilterEventType (p.EventTypes [0], true); Assert.AreEqual (1, filter.VisiblePlays.Count); Assert.AreEqual (1, filter.VisibleEventTypes.Count); filter.ClearAll (); Assert.AreEqual (3, filter.VisiblePlays.Count); Assert.AreEqual (15, filter.VisibleEventTypes.Count); filter.FilterEventTag (p.EventTypes [0], (p.EventTypes [0] as AnalysisEventType).Tags [0], true); Assert.AreEqual (0, filter.VisiblePlays.Count); Assert.AreEqual (1, filter.VisibleEventTypes.Count); filter.ClearAll (); Assert.AreEqual (3, filter.VisiblePlays.Count); Assert.AreEqual (15, filter.VisibleEventTypes.Count); } finally { Utils.DeleteProject (p); } }
public PlayerEventTypeStats(Project project, EventsFilter filter, Player player, EventType evType) { this.filter = filter; this.player = player; this.project = project; this.EventType = evType; }
public void SetFilter(EventsFilter filter, ProjectLongoMatch project) { this.local = project.LocalTeamTemplate; this.visitor = project.VisitorTeamTemplate; localTeam.Name = local.TeamName; visitorTeam.Name = visitor.TeamName; this.filter = filter; FillTree (); }
public PlayerStats(ProjectLongoMatch project, EventsFilter filter, PlayerLongoMatch player) { this.project = project; this.filter = filter; this.Player = player; PlayerEventStats = new List<PlayerEventTypeStats> (); foreach (EventType evtType in project.EventTypes) { if (!(evtType is SubstitutionEventType)) { PlayerEventStats.Add (new PlayerEventTypeStats (project, filter, player, evtType)); } } UpdateTimePlayed (); }
public void TestEmptyFilter() { ProjectLongoMatch p = Utils.CreateProject (); try { EventsFilter filter = new EventsFilter (p); Assert.AreEqual (15, filter.VisibleEventTypes.Count); Assert.AreEqual (10, filter.VisiblePlayers.Count); Assert.AreEqual (3, filter.VisiblePlays.Count); } finally { Utils.DeleteProject (p); } }
public void TestFilterCategory() { ProjectLongoMatch p = Utils.CreateProject (); try { EventsFilter filter = new EventsFilter (p); filter.FilterEventType (p.EventTypes [0], true); Assert.AreEqual (1, filter.VisibleEventTypes.Count); Assert.AreEqual (1, filter.VisiblePlays.Count); filter.FilterEventType (p.EventTypes [1], true); Assert.AreEqual (2, filter.VisibleEventTypes.Count); Assert.AreEqual (2, filter.VisiblePlays.Count); filter.FilterEventType (p.EventTypes [2], true); Assert.AreEqual (3, filter.VisibleEventTypes.Count); Assert.AreEqual (3, filter.VisiblePlays.Count); filter.FilterEventType (p.EventTypes [0], true); Assert.AreEqual (3, filter.VisibleEventTypes.Count); Assert.AreEqual (3, filter.VisiblePlays.Count); filter.FilterEventType (p.EventTypes [0], false); Assert.AreEqual (2, filter.VisibleEventTypes.Count); Assert.AreEqual (2, filter.VisiblePlays.Count); filter.FilterEventType (p.EventTypes [1], false); Assert.AreEqual (1, filter.VisibleEventTypes.Count); Assert.AreEqual (1, filter.VisiblePlays.Count); filter.FilterEventType (p.EventTypes [2], false); Assert.AreEqual (15, filter.VisibleEventTypes.Count); Assert.AreEqual (3, filter.VisiblePlays.Count); } finally { Utils.DeleteProject (p); } }
public void TestFilterPlayersDuplicated() { ProjectLongoMatch p = Utils.CreateProject (); p.VisitorTeamTemplate = p.LocalTeamTemplate; try { EventsFilter filter = new EventsFilter (p); Assert.AreEqual (5, filter.VisiblePlayers.Count); Assert.AreEqual (3, filter.VisiblePlays.Count); foreach (PlayerLongoMatch player in p.LocalTeamTemplate.List) { filter.FilterPlayer (player, true); } Assert.AreEqual (5, filter.VisiblePlayers.Count); Assert.AreEqual (3, filter.VisiblePlays.Count); foreach (PlayerLongoMatch player in p.VisitorTeamTemplate.List) { filter.FilterPlayer (player, true); } Assert.AreEqual (5, filter.VisiblePlayers.Count); Assert.AreEqual (3, filter.VisiblePlays.Count); filter.ClearAll (); Assert.AreEqual (5, filter.VisiblePlayers.Count); Assert.AreEqual (3, filter.VisiblePlays.Count); } finally { Utils.DeleteProject (p); } }
public void TestFilterPlayers() { ProjectLongoMatch p = Utils.CreateProject (); try { EventsFilter filter = new EventsFilter (p); Assert.AreEqual (10, filter.VisiblePlayers.Count); Assert.AreEqual (3, filter.VisiblePlays.Count); filter.FilterPlayer (p.LocalTeamTemplate.List [4], true); Assert.AreEqual (0, filter.VisiblePlays.Count); Assert.AreEqual (1, filter.VisiblePlayers.Count); filter.FilterPlayer (p.LocalTeamTemplate.List [0], true); Assert.AreEqual (1, filter.VisiblePlays.Count); Assert.AreEqual (2, filter.VisiblePlayers.Count); filter.FilterPlayer (p.LocalTeamTemplate.List [0], true); Assert.AreEqual (1, filter.VisiblePlays.Count); Assert.AreEqual (2, filter.VisiblePlayers.Count); filter.FilterPlayer (p.LocalTeamTemplate.List [0], false); Assert.AreEqual (0, filter.VisiblePlays.Count); Assert.AreEqual (1, filter.VisiblePlayers.Count); filter.FilterPlayer (p.LocalTeamTemplate.List [4], false); Assert.AreEqual (10, filter.VisiblePlayers.Count); Assert.AreEqual (3, filter.VisiblePlays.Count); } finally { Utils.DeleteProject (p); } }
public void TestFilterCategoryTags() { ProjectLongoMatch p = Utils.CreateProject (); try { EventsFilter filter = new EventsFilter (p); AnalysisEventType a; Assert.AreEqual (3, filter.VisiblePlays.Count); a = p.EventTypes [0] as AnalysisEventType; filter.FilterEventTag (a, a.Tags [0], true); Assert.AreEqual (1, filter.VisibleEventTypes.Count); Assert.AreEqual (0, filter.VisiblePlays.Count); a = p.EventTypes [1] as AnalysisEventType; filter.FilterEventTag (a, a.Tags [0], true); Assert.AreEqual (2, filter.VisibleEventTypes.Count); Assert.AreEqual (1, filter.VisiblePlays.Count); a = p.EventTypes [2] as AnalysisEventType; filter.FilterEventTag (a, a.Tags [0], true); Assert.AreEqual (3, filter.VisibleEventTypes.Count); Assert.AreEqual (1, filter.VisiblePlays.Count); filter.FilterEventTag (a, a.Tags [1], true); Assert.AreEqual (2, filter.VisiblePlays.Count); a = p.EventTypes [0] as AnalysisEventType; filter.FilterEventTag (a, a.Tags [0], false); Assert.AreEqual (3, filter.VisiblePlays.Count); a = p.EventTypes [1] as AnalysisEventType; filter.FilterEventTag (a, a.Tags [0], false); filter.FilterEventTag (a, a.Tags [1], true); Assert.AreEqual (2, filter.VisiblePlays.Count); Assert.AreEqual (p.Timeline [0], filter.VisiblePlays [0]); Assert.AreEqual (p.Timeline [2], filter.VisiblePlays [1]); /* One tag filtered now, but not the one of this play */ a = p.EventTypes [2] as AnalysisEventType; filter.FilterEventTag (a, a.Tags [1], false); Assert.AreEqual (1, filter.VisiblePlays.Count); Assert.AreEqual (p.Timeline [0], filter.VisiblePlays [0]); /* No more tags filtered, if the category matches we are ok */ filter.FilterEventTag (a, a.Tags [0], false); Assert.AreEqual (2, filter.VisiblePlays.Count); Assert.AreEqual (p.Timeline [0], filter.VisiblePlays [0]); Assert.AreEqual (p.Timeline [2], filter.VisiblePlays [1]); filter.ClearAll (); Assert.AreEqual (3, filter.VisiblePlays.Count); } finally { Utils.DeleteProject (p); } }
public void SetFilter(EventsFilter filter, ProjectLongoMatch project) { this.project = project; this.filter = filter; FillTree (); }
bool SetProject(ProjectLongoMatch project, ProjectType projectType, CaptureSettings props) { if (OpenedProject != null) { CloseOpenedProject (true); } Log.Debug ("Loading project " + project.ID + " " + projectType); PlaysFilter = new EventsFilter (project); project.CleanupTimers (); project.ProjectType = projectType; guiToolkit.OpenProject (project, projectType, props, PlaysFilter, out analysisWindow); Player = analysisWindow.Player; Capturer = analysisWindow.Capturer; OpenedProject = project; OpenedProjectType = projectType; if (projectType == ProjectType.FileProject) { // Check if the file associated to the project exists if (!project.Description.FileSet.CheckFiles ()) { if (!guiToolkit.SelectMediaFiles (project.Description.FileSet)) { CloseOpenedProject (true); return false; } } try { Player.Open (project.Description.FileSet); } catch (Exception ex) { Log.Exception (ex); App.Current.Dialogs.ErrorMessage (Catalog.GetString ("An error occurred opening this project:") + "\n" + ex.Message); CloseOpenedProject (false); return false; } } else if (projectType == ProjectType.CaptureProject || projectType == ProjectType.URICaptureProject || projectType == ProjectType.FakeCaptureProject) { try { Capturer.Run (props, project.Description.FileSet.First ()); } catch (Exception ex) { Log.Exception (ex); App.Current.Dialogs.ErrorMessage (ex.Message); CloseOpenedProject (false); return false; } } EmitProjectChanged (); return true; }
public IAnalysisWindow SetProject (ProjectLongoMatch project, ProjectType projectType, CaptureSettings props, EventsFilter filter) { ExportProjectAction1.Sensitive = true; this.projectType = projectType; openedProject = project; if (projectType == ProjectType.FileProject) { Title = openedProject.Description.Title + " - " + Constants.SOFTWARE_NAME; } else { Title = Constants.SOFTWARE_NAME; } MakeActionsSensitive (true, projectType); if (projectType == ProjectType.FakeCaptureProject) { analysisWindow = new FakeAnalysisComponent (); } else { analysisWindow = new AnalysisComponent (); } SetPanel (analysisWindow); analysisWindow.SetProject (project, projectType, props, filter); return analysisWindow; }
public void SetProject(ProjectLongoMatch project, EventsFilter filter) { eventslistwidget.SetProject (project, filter); playersfilter.SetFilter (filter, project); categoriesfilter.SetFilter (filter, project); playlistwidget.Project = project; }