public void TestQueryEventsByNoPlayerOrTeam() { LMPlayer messi = new LMPlayer { Name = "Messi" }; LMTimelineEvent evt = new LMTimelineEvent(); evt.Players.Add(messi); storage.Store(evt); evt = new LMTimelineEvent(); storage.Store(evt); QueryFilter filter = new QueryFilter(); LMPlayer nullPlayer = null; LMTeam nullTeam = null; filter.Add("Player", nullPlayer); Assert.AreEqual(1, storage.Retrieve <LMTimelineEvent> (filter).Count()); filter = new QueryFilter(); filter.Add("Team", nullTeam); Assert.AreEqual(2, storage.Retrieve <LMTimelineEvent> (filter).Count()); filter = new QueryFilter(); QueryFilter teamsAndPlayersFilter = new QueryFilter { Operator = QueryOperator.Or }; filter.Children.Add(teamsAndPlayersFilter); teamsAndPlayersFilter.Add("Team", nullTeam); teamsAndPlayersFilter.Add("Player", nullPlayer); filter.Operator = QueryOperator.Or; Assert.AreEqual(2, storage.Retrieve <LMTimelineEvent> (filter).Count()); }
public void ReloadStats(LMPlayer player) { PlayerStats playerStats; TreeIter iter; TreePath selected = null; playerStats = pstats.GetPlayerStats(player); treeview.Selection.GetSelected(out iter); if (store.IterIsValid(iter)) { selected = store.GetPath(iter); } store.Clear(); foreach (PlayerEventTypeStats petats in playerStats.PlayerEventStats) { store.AppendValues(petats, petats.EventType.Name); } /* Keep the selected category for when we reload the stats changing players */ if (selected != null) { store.GetIter(out iter, selected); } else { store.GetIterFirst(out iter); } treeview.Selection.SelectIter(iter); categoryviewer.LoadStats(store.GetValue(iter, 0) as PlayerEventTypeStats); }
public void ViewModelFactoryService_CreateLMPlayerVM() { var model = new LMPlayer(); var vm = factoryService.CreateViewModel <PlayerVM, Player> (model); Assert.IsTrue(vm is LMPlayerVM); }
public static void RenderSubstitution(Color color, Time evt, LMPlayer playerIn, LMPlayer playerOut, bool selected, bool isExpanded, IDrawingToolkit tk, IContext context, Area backgroundArea, Area cellArea, CellState state) { Point selectPoint, textPoint, imagePoint, circlePoint; Point inPoint, imgPoint, outPoint, timePoint; double textWidth; if (subsImage == null) { subsImage = App.Current.ResourcesLocator.LoadImage(StyleConf.SubsIcon); } tk.Context = context; tk.Begin(); RenderTimelineEventBase(color, null, selected, null, tk, context, backgroundArea, cellArea, state, out selectPoint, out textPoint, out imagePoint, out circlePoint, out textWidth); inPoint = textPoint; imgPoint = new Point(textPoint.X + StyleConf.ListImageWidth + StyleConf.ListRowSeparator, textPoint.Y); outPoint = new Point(imgPoint.X + 20 + StyleConf.ListRowSeparator, imgPoint.Y); RenderPlayer(tk, playerIn, inPoint); tk.DrawImage(imgPoint, 20, cellArea.Height, subsImage, ScaleMode.AspectFit); RenderPlayer(tk, playerOut, outPoint); timePoint = new Point(outPoint.X + StyleConf.ListImageWidth + StyleConf.ListRowSeparator, textPoint.Y); tk.FontSize = 10; tk.FontWeight = FontWeight.Normal; tk.StrokeColor = App.Current.Style.PaletteSelected; tk.FontAlignment = FontAlignment.Left; tk.DrawText(timePoint, 100, cellArea.Height, evt.ToSecondsString()); RenderSeparationLine(tk, context, backgroundArea); tk.End(); }
public void TestPlayingPlayers() { LMTeam t = new LMTeam(); LMPlayer p1, p2, p3; t.Name = "test"; t.TeamName = "team"; Assert.AreEqual(t.CalledPlayersList.Count, 0); p1 = new LMPlayer { Name = "P1", Playing = true }; p2 = new LMPlayer { Name = "P2", Playing = false }; p3 = new LMPlayer { Name = "P3", Playing = true }; t.List.Add(p1); Assert.AreEqual(t.CalledPlayersList.Count, 1); t.List.Add(p2); Assert.AreEqual(t.CalledPlayersList.Count, 1); t.List.Add(p3); Assert.AreEqual(t.CalledPlayersList.Count, 2); Assert.AreEqual(t.CalledPlayersList [0], p1); Assert.AreEqual(t.CalledPlayersList [1], p3); }
public void TestToString() { LMPlayer player = new LMPlayer { Name = "andoni", LastName = "morales", Number = 1 }; Assert.AreEqual("1-andoni morales", player.ToString()); player.NickName = "ylatuya"; Assert.AreEqual("1-ylatuya", player.ToString()); }
void HandleCursorChanged(object sender, EventArgs e) { TreeIter iter; treeview1.Selection.GetSelected(out iter); current = store.GetValue(iter, 1) as LMPlayer; if (current != null) { categoriesviewer.ReloadStats(current); } }
public void TestQueryEventsByPlayer() { LMPlayer andoni = new LMPlayer { Name = "Andoni" }; LMPlayer jorge = new LMPlayer { Name = "Jorge" }; LMPlayer victor = new LMPlayer { Name = "Victor" }; LMPlayer josep = new LMPlayer { Name = "Josep" }; LMPlayer davide = new LMPlayer { Name = "Davide" }; LMPlayer messi = new LMPlayer { Name = "Messi" }; LMPlayer ukelele = new LMPlayer { Name = "ukelele" }; var players = new List <LMPlayer> { andoni, jorge, victor, josep, davide }; foreach (LMPlayer player in players) { LMTimelineEvent evt = new LMTimelineEvent(); evt.Players.Add(player); evt.Players.Add(messi); storage.Store(evt); } QueryFilter filter = new QueryFilter(); filter.Add("Player", messi); Assert.AreEqual(5, storage.Retrieve <LMTimelineEvent> (filter).Count()); filter.Add("Player", andoni); Assert.AreEqual(1, storage.Retrieve <LMTimelineEvent> (filter).Count()); filter.Add("Player", andoni, jorge, josep); Assert.AreEqual(3, storage.Retrieve <LMTimelineEvent> (filter).Count()); filter.Add("Player", victor, ukelele); Assert.AreEqual(1, storage.Retrieve <LMTimelineEvent> (filter).Count()); filter.Add("Player", players); Assert.AreEqual(5, storage.Retrieve <LMTimelineEvent> (filter).Count()); }
static void RenderPlayer(IDrawingToolkit tk, LMPlayer p, Point imagePoint) { PlayerView po = App.Current.ViewLocator.Retrieve("PlayerView") as PlayerView; // FIXME: Remove it with everything is ported to MVVM po.Player = new LMPlayerVM { Model = p }; po.Position = imagePoint; po.Size = StyleConf.ListImageWidth - 2; po.Draw(tk, null); po.Dispose(); }
Image PlayerPhoto(LMPlayer p) { Image playerImage; if (p.Photo != null) { playerImage = p.Photo; } else { playerImage = App.Current.ResourcesLocator.LoadIcon("lm-player-pic", PLAYER_SIZE); } return(playerImage); }
public void TestPhoto() { LMPlayer player = new LMPlayer { Name = "andoni", Position = "runner", Number = 5, Birthday = new DateTime(1984, 6, 11), Nationality = "spanish", Height = 1.73f, Weight = 70, Playing = true }; player.Photo = Utils.LoadImageFromFile(); Utils.CheckSerialization(player); Assert.AreEqual(player.Photo.Width, 16); Assert.AreEqual(player.Photo.Height, 16); }
public PlayerStats(LMProject project, EventsFilter filter, LMPlayer 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 Player AddDefaultItem(int i) { var p = new LMPlayer { Name = "Player " + (i + 1).ToString(), Birthday = new DateTime(DateTime.Now.Year - 25, 6, 1), Height = 1.80f, Weight = 80, Number = i + 1, Position = "", Photo = null, Playing = true, }; List.Insert(i, p); return(p); }
void TagPlayer() { int playerNumber; if (int.TryParse(this.playerNumber, out playerNumber)) { LMTeam team = taggedTeam == TeamType.LOCAL ? openedProject.LocalTeamTemplate : openedProject.VisitorTeamTemplate; LMPlayer player = team.Players.FirstOrDefault(p => p.Number == playerNumber); if (player != null) { //analysisWindow.TagPlayer (player); } } inPlayerTagging = false; this.playerNumber = ""; }
public void TestListPlayers() { foreach (string n in new [] { "andoni", "aitor", "xabi", "iñaki" }) { foreach (string f in new [] { "gorriti", "zabala", "otegui" }) { foreach (string r in new [] { "cholo", "bobi", "tolai" }) { LMPlayer p = new LMPlayer { Name = n, LastName = f, NickName = r }; storage.Store(p); } } } IEnumerable <LMPlayer> players = storage.RetrieveAll <LMPlayer> (); Assert.AreEqual(36, players.Count()); QueryFilter filter = new QueryFilter(); filter.Add("Name", "andoni"); players = storage.Retrieve <LMPlayer> (filter); Assert.AreEqual(9, players.Count()); filter = new QueryFilter(); filter.Add("Name", "andoni"); filter.Add("LastName", "zabala"); players = storage.Retrieve <LMPlayer> (filter); Assert.AreEqual(3, players.Count()); filter = new QueryFilter(); filter.Add("Name", "andoni", "aitor"); players = storage.Retrieve <LMPlayer> (filter); Assert.AreEqual(18, players.Count()); filter = new QueryFilter(); filter.Add("Name", "andoni", "aitor"); filter.Add("LastName", "zabala"); players = storage.Retrieve <LMPlayer> (filter); Assert.AreEqual(6, players.Count()); }
protected override void UpdateSelection(TreeIter iter, bool active) { TreeStore store = Model as TreeStore; LMPlayer player = (LMPlayer)store.GetValue(iter, COL_VALUE); /* Check all children */ if (player == localTeam || player == visitorTeam) { TreeIter child; store.IterChildren(out child, iter); filter.IgnoreUpdates = true; while (store.IterIsValid(child)) { LMPlayer childPlayer = (LMPlayer)store.GetValue(child, COL_VALUE); filter.FilterPlayer(childPlayer, active); store.SetValue(child, COL_ACTIVE, active); store.IterNext(ref child); } filter.IgnoreUpdates = false; } else { filter.FilterPlayer(player, active); if (!active) { TreeIter team; /* Uncheck the team check button */ if (local.List.Contains(player)) { team = localIter; } else { team = visitorIter; } store.SetValue(team, COL_ACTIVE, false); } } store.SetValue(iter, COL_ACTIVE, active); filter.Update(); }
public void AddEvent(LMTimelineEvent evt) { TreeIter piter; if (evt.Players == null) { return; } team.GetIterFirst(out piter); while (team.IterIsValid(piter)) { LMPlayer player = team.GetValue(piter, 0) as LMPlayer; if (evt.Players.Contains(player)) { team.AppendValues(piter, evt); } team.IterNext(ref piter); } }
public static void RenderPlayer(LMPlayer player, int count, bool isExpanded, IDrawingToolkit tk, IContext context, Area backgroundArea, Area cellArea) { Point image, text; double textWidth; image = new Point(StyleConf.ListTextOffset, cellArea.Start.Y); text = new Point(image.X + StyleConf.ListRowSeparator + StyleConf.ListImageWidth, cellArea.Start.Y); textWidth = cellArea.Start.X + cellArea.Width - text.X; tk.Context = context; tk.Begin(); RenderBackgroundAndText(isExpanded, tk, backgroundArea, text, textWidth, player.ToString()); /* Photo */ RenderPlayer(tk, player, image); RenderCount(isExpanded, player.Color, count, tk, backgroundArea, cellArea); RenderSeparationLine(tk, context, backgroundArea); tk.End(); }
public void TestTimelineEvent() { LMPlayer p = new LMPlayer(); AnalysisEventType evtType = new AnalysisEventType(); LMTimelineEvent evt = new LMTimelineEvent(); Document doc = db.GetDocument(evt.ID.ToString()); SerializationContext context = new SerializationContext(db, evt.GetType()); context.Cache.AddReference(p); evt.Players.Add(p); evt.EventType = evtType; doc.Update((UnsavedRevision rev) => { JObject jo = DocumentsSerializer.SerializeObject(evt, rev, context); Assert.AreEqual(p.ID.ToString(), jo ["Players"] [0].Value <String> ()); Assert.AreEqual(evtType.ID.ToString(), jo ["EventType"].Value <String> ()); IDictionary <string, object> props = jo.ToObject <IDictionary <string, object> > (); rev.SetProperties(props); return(true); }); /* LMPlayer has not been added to the db, as it was already referenced * by the IDReferenceResolver */ Assert.AreEqual(2, db.DocumentCount); DocumentsSerializer.SaveObject(p, db); Assert.AreEqual(3, db.DocumentCount); LMTimelineEvent evt2 = storage.Retrieve <LMTimelineEvent> (evt.ID); Assert.IsNotNull(evt2.EventType); Assert.IsNotNull(evt2.DocumentID); storage.Delete(evt); Assert.AreEqual(3, db.DocumentCount); storage.Delete(p); Assert.AreEqual(2, db.DocumentCount); storage.Delete(evtType); Assert.AreEqual(1, db.DocumentCount); }
void ClearPlayer() { ignoreChanges = true; playerframe.Sensitive = false; loadedPlayer = null; nameentry.Text = ""; lastnameentry.Text = ""; nicknameentry.Text = ""; positionentry.Text = ""; numberspinbutton.Value = 0; heightspinbutton.Value = 0; weightspinbutton.Value = 0; nationalityentry.Text = ""; bdaydatepicker.Date = new DateTime(); mailentry.Text = ""; playerimage.Image = App.Current.ResourcesLocator.LoadIcon("lm-player-pic", PLAYER_SIZE); ignoreChanges = false; }
void LoadPlayer(LMPlayer p) { ignoreChanges = true; loadedPlayer = p; nameentry.Text = p.Name ?? ""; lastnameentry.Text = p.LastName ?? ""; nicknameentry.Text = p.NickName ?? ""; positionentry.Text = p.Position ?? ""; numberspinbutton.Value = p.Number; heightspinbutton.Value = p.Height; weightspinbutton.Value = p.Weight; nationalityentry.Text = p.Nationality ?? ""; bdaydatepicker.Date = p.Birthday; mailentry.Text = p.Mail ?? ""; playerimage.Image = PlayerPhoto(p); playerframe.Sensitive = true; ignoreChanges = false; }
public void TestPlayer() { LMPlayer player1 = new LMPlayer { Name = "andoni", Position = "runner", Number = 5, Birthday = new DateTime(1984, 6, 11), Nationality = "spanish", Height = 1.73f, Weight = 70, Playing = true, Mail = "test@test", Color = Color.Red }; player1.Photo = Utils.LoadImageFromFile(); storage.Store(player1); Assert.AreEqual(2, db.DocumentCount); Assert.IsNotNull(db.GetExistingDocument(player1.ID.ToString())); LMPlayer player2 = storage.Retrieve <LMPlayer> (player1.ID); Assert.AreEqual(player1.ID, player2.ID); Assert.AreEqual(player1.ToString(), player2.ToString()); Assert.AreEqual(player1.Photo.Width, player2.Photo.Width); Assert.IsNotNull(player2.DocumentID); storage.Delete(player1); Assert.AreEqual(1, db.DocumentCount); }
public void TestSerialization() { LMPlayer player = new LMPlayer { Name = "andoni", Position = "runner", Number = 5, Birthday = new DateTime(1984, 6, 11), Nationality = "spanish", Height = 1.73f, Weight = 70, Playing = true, Mail = "test@test", Color = Color.Red }; Utils.CheckSerialization(player); LMPlayer newPlayer = Utils.SerializeDeserialize(player); Assert.AreEqual(player.Name, newPlayer.Name); Assert.AreEqual(player.Position, newPlayer.Position); Assert.AreEqual(player.Number, newPlayer.Number); Assert.AreEqual(player.Birthday, newPlayer.Birthday); Assert.AreEqual(player.Nationality, newPlayer.Nationality); Assert.AreEqual(player.Height, newPlayer.Height); Assert.AreEqual(player.Weight, newPlayer.Weight); Assert.AreEqual(player.Playing, newPlayer.Playing); Assert.AreEqual(player.Mail, newPlayer.Mail); Assert.IsNull(newPlayer.Color); }
List <LMProject> CreateProjects() { LMPlayer andoni = new LMPlayer { Name = "Andoni" }; LMPlayer jorge = new LMPlayer { Name = "Jorge" }; LMPlayer victor = new LMPlayer { Name = "Victor" }; LMPlayer josep = new LMPlayer { Name = "Josep" }; LMPlayer davide = new LMPlayer { Name = "Davide" }; LMPlayer saray = new LMPlayer { Name = "Saray" }; LMPlayer ivan = new LMPlayer { Name = "Ivan" }; LMPlayer adria = new LMPlayer { Name = "Adria" }; LMTeam devteam = new LMTeam { Name = "DevTeam" }; LMTeam qateam = new LMTeam { Name = "QA" }; devteam.List.AddRange(new List <LMPlayer> { andoni, jorge, victor, josep, davide }); qateam.List.AddRange(new List <LMPlayer> { saray, ivan, adria }); LMDashboard dashbaord = LMDashboard.DefaultTemplate(5); var projects = new List <LMProject> (); for (int i = 0; i < 5; i++) { LMProject p = new LMProject(); p.Dashboard = dashbaord.Clone(); p.LocalTeamTemplate = devteam; p.VisitorTeamTemplate = qateam; p.Description = new ProjectDescription(); foreach (var player in devteam.List.Concat(qateam.List)) { foreach (var button in p.Dashboard.List.OfType <AnalysisEventButton> ()) { LMTimelineEvent evt = p.AddEvent(button.EventType, new Time(0), new Time(10), new Time(5), null) as LMTimelineEvent; evt.Players.Add(player); if (qateam.List.Contains(player)) { evt.Teams.Add(qateam); } else { evt.Teams.Add(devteam); } } } projects.Add(p); storage.Store(p); } return(projects); }
public PlayersFilterTreeView() : base() { visitorTeam = new LMPlayer(); localTeam = new LMPlayer(); HeadersVisible = false; }