private ICollection <Play> FieldGoalTwoActions(ICollection <PlayDTO> playsBundle) { var dto1 = playsBundle.First(); var dto2 = playsBundle.Last(); bool _FGmade = dto1.MainBoolProperty; var fg = new FieldGoal(Guid.NewGuid(), DateTime.Now, dto1.IsTeamB, dto1.PlayerId, _gameId, dto1.Points, _FGmade, dto2.PlayType.ToLower() == "block", _FGmade); if (dto2.PlayType.ToLower() == "assist") { var assist = new Assist(Guid.NewGuid(), DateTime.Now, dto1.IsTeamB, dto2.PlayerId, _gameId, fg); return(new List <Play> { fg, assist }); } if (playsBundle.Last().PlayType.ToLower() == "rebound") { var rebound = new Rebound(Guid.NewGuid(), DateTime.Now, dto2.IsTeamB, dto2.PlayerId, _gameId, dto1.IsTeamB == dto2.IsTeamB, fg); return(new List <Play> { fg, rebound }); } if (playsBundle.Last().PlayType.ToLower() == "block") { var block = new Block(Guid.NewGuid(), DateTime.Now, dto2.IsTeamB, dto2.PlayerId, _gameId, fg); return(new List <Play> { fg, block }); } throw new InvalidDataException(); }
internal static bool AreEqual(FieldGoal p1, FieldGoal p2) { if (AreEqual((Play)p1, (Play)p2) && p1.Points == p2.Points && p1.Made == p2.Made && p1.WasBlocked == p2.WasBlocked && p1.WasAssisted == p2.WasAssisted) { return(true); } else { return(false); } }
private ICollection <Play> FieldGoalThreeActions(ICollection <PlayDTO> playsBundle) { var dto1 = playsBundle.First(); var dto2 = playsBundle.First(p => p.PlayType.ToLower() == "block"); var dto3 = playsBundle.First(p => p.PlayType.ToLower() == "rebound"); var fg = new FieldGoal(Guid.NewGuid(), DateTime.UtcNow, dto1.IsTeamB, dto1.PlayerId, _gameId, dto1.Points, false, true, false); var block = new Block(Guid.NewGuid(), DateTime.Now, dto2.IsTeamB, dto2.PlayerId, _gameId, fg); var rebound = new Rebound(Guid.NewGuid(), DateTime.Now, dto3.IsTeamB, dto3.PlayerId, _gameId, dto1.IsTeamB == dto3.IsTeamB, fg); return(new List <Play> { fg, block, rebound }); }
public void _2_point_field_goal_missed_with_defensive_rebound_gives_proper_plays() { var bundle = new List <PlayDTO> { P0Misses2pFG, P2Rebounds_DiffTeam }; var P0_2pFGMissed = new FieldGoal(Guid.NewGuid(), DateTime.Now, false, playerIds[0], gameId, 2, false, false, false); var P2Rebound = new Rebound(Guid.NewGuid(), DateTime.Now, true, playerIds[2], gameId, false, P0_2pFGMissed); result = playParser.ReadPlaysBundle(bundle, gameId).ToList(); try { Assert.Multiple(() => { Assert.True(Plays.AreEqual((FieldGoal)result.First(), P0_2pFGMissed)); Assert.True(Plays.AreEqual((Rebound)result.Last(), P2Rebound)); Assert.True(((Rebound)result.Last()).FieldGoalReboundedId == result.First().Id); }); } catch (Exception) { } }
public void _2_point_field_goal_with_assist_gives_proper_plays() { var bundle = new List <PlayDTO> { P0Makes2pFG, P1Assists }; var P0_2pMade = new FieldGoal(Guid.NewGuid(), DateTime.Now, false, playerIds[0], gameId, 2, true, false, true); var P1Assist = new Assist(Guid.NewGuid(), DateTime.Now, false, playerIds[1], gameId, P0_2pMade); result = playParser.ReadPlaysBundle(bundle, gameId).ToList(); try { Assert.Multiple(() => { Assert.IsTrue(Plays.AreEqual((FieldGoal)result.First(), P0_2pMade)); Assert.IsTrue(Plays.AreEqual((Assist)result.Last(), P1Assist)); Assert.True(((Assist)result.Last()).FieldGoalId == result.First().Id); }); } catch (Exception) { } }
private static PlayerStats GetPlayerStats(this List <string> playerData, FieldGoal fg2, FieldGoal fg3, FieldGoal ft, Game game) { return(new PlayerStats { MinutesPlayed = playerData.GetNumberValue((int)PlayerStatIndex.MinutesPlayed), Efficiency = playerData.GetNumberValue((int)PlayerStatIndex.Efficiency), TotalRebounds = playerData.GetNumberValue((int)PlayerStatIndex.Rebounds), OffensiveRebounds = playerData.GetNumberValue((int)PlayerStatIndex.OffensiveRebounds), DefensiveRebounds = playerData.GetNumberValue((int)PlayerStatIndex.DefensiveRebounds), Assists = playerData.GetNumberValue((int)PlayerStatIndex.Assists), Turnovers = playerData.GetNumberValue((int)PlayerStatIndex.Turnovers), Steals = playerData.GetNumberValue((int)PlayerStatIndex.Steals), Blocks = playerData.GetNumberValue((int)PlayerStatIndex.Blocks), Points = playerData.GetNumberValue((int)PlayerStatIndex.Points), FG2Attempted = fg2.Attempted, FG2Made = fg2.Made, FG3Attempted = fg3.Attempted, FG3Made = fg3.Made, FTAttempted = ft.Attempted, FTMade = ft.Made, Game = game }); }