public void SeasonGroupReplaceGroupCompetitor() { VerifyTournamentGroups(_seasonApiData.groups, _seasonCiData.GetGroupsAsync(_cultures).Result); VerifyTournamentCompetitors(_seasonApiData.competitors, _seasonApiData.groups, _seasonCiData.GetCompetitorsIdsAsync(_cultures).Result); var oldGroup = _seasonApiData.groups[0]; var oldGroupCompetitors = _seasonApiData.groups[0].competitor.ToList(); var newGroupCompetitors = new List <team>(); var i = _seasonApiData.groups[0].competitor.Length / 2; while (i > 0) { newGroupCompetitors.Add(_seasonApiData.groups[0].competitor[i]); oldGroupCompetitors.RemoveAt(i); i--; } // replace competitor in group var compId = URN.Parse(oldGroupCompetitors[0].id); oldGroupCompetitors[0].id = $"{compId.Prefix}:{compId.Type}:{compId.Id / 2}"; var newGroup = new tournamentGroup { competitor = newGroupCompetitors.ToArray() }; oldGroup.competitor = oldGroupCompetitors.ToArray(); _seasonApiData.groups = new[] { oldGroup, newGroup }; _seasonDtoData = new TournamentInfoDTO(_seasonApiData); _seasonCiData.Merge(_seasonDtoData, TestData.Culture, false); VerifyTournamentGroups(_seasonApiData.groups, _seasonCiData.GetGroupsAsync(_cultures).Result); VerifyTournamentCompetitors(_seasonApiData.competitors, _seasonApiData.groups, _seasonCiData.GetCompetitorsIdsAsync(_cultures).Result); }
public void SeasonGroupRemoveGroupCompetitor() { VerifyTournamentGroups(_seasonApiData.groups, _seasonCiData.GetGroupsAsync(_cultures).Result); VerifyTournamentCompetitors(_seasonApiData.competitors, _seasonApiData.groups, _seasonCiData.GetCompetitorsIdsAsync(_cultures).Result); var oldGroup = _seasonApiData.groups[0]; var oldGroupCompetitors = _seasonApiData.groups[0].competitor.ToList(); var newGroupCompetitors = new List <team>(); var i = _seasonApiData.groups[0].competitor.Length / 2; while (i > 0) { newGroupCompetitors.Add(_seasonApiData.groups[0].competitor[i]); oldGroupCompetitors.RemoveAt(i); i--; } oldGroupCompetitors.RemoveAt(0); var newGroup = new tournamentGroup { id = "2", name = "Name2", competitor = newGroupCompetitors.ToArray() }; oldGroup.competitor = oldGroupCompetitors.ToArray(); _seasonApiData.groups = new[] { oldGroup, newGroup }; _seasonDtoData = new TournamentInfoDTO(_seasonApiData); _seasonCiData.Merge(_seasonDtoData, TestData.Culture, false); VerifyTournamentGroups(_seasonApiData.groups, _seasonCiData.GetGroupsAsync(_cultures).Result); VerifyTournamentCompetitors(_seasonApiData.competitors, _seasonApiData.groups, _seasonCiData.GetCompetitorsIdsAsync(_cultures).Result); }
private static void ValidateTournamentGroup(tournamentGroup msg, GroupDTO dto) { Assert.AreEqual(msg.name, dto.Name); Assert.AreEqual(msg.competitor.Length, dto.Competitors.ToList().Count); for (var i = 0; i < msg.competitor.Length; i++) { ValidateTeam(msg.competitor[i], dto.Competitors.ToArray()[i]); } }
internal GroupDTO(tournamentGroup group) { Contract.Requires(group != null); Name = group.name ?? string.Empty; Competitors = group.competitor == null ? null : new ReadOnlyCollection <CompetitorDTO>(group.competitor.Select(c => new CompetitorDTO(c)).ToList()); }
internal GroupDTO(tournamentGroup group) { Guard.Argument(group, nameof(group)).NotNull(); Id = group.id ?? string.Empty; Name = group.name ?? string.Empty; Competitors = group.competitor == null ? null : new ReadOnlyCollection <CompetitorDTO>(group.competitor.Select(c => new CompetitorDTO(c)).ToList()); }
public void MergeTournamentGroupSplit() { // default _tourDtoData = new TournamentInfoDTO(_tourApiData); _tourCiData.Merge(_tourDtoData, TestData.Culture, false); VerifyTournamentGroups(_tourApiData.groups, _tourCiData.GetGroupsAsync(_cultures).Result); VerifyTournamentCompetitors(_tourApiData.competitors, _tourApiData.groups, _tourCiData.GetCompetitorsIdsAsync(_cultures).Result); // set group name _tourApiData.groups[0].id = "1"; _tourApiData.groups[0].name = "Name1"; _tourDtoData = new TournamentInfoDTO(_tourApiData); _tourCiData.Merge(_tourDtoData, TestData.Culture, false); VerifyTournamentGroups(_tourApiData.groups, _tourCiData.GetGroupsAsync(_cultures).Result); VerifyTournamentCompetitors(_tourApiData.competitors, _tourApiData.groups, _tourCiData.GetCompetitorsIdsAsync(_cultures).Result); // split group var oldGroup = _tourApiData.groups[0]; var newGroup = new tournamentGroup(); newGroup.id = "2"; newGroup.name = "Name2"; var oldGroupCompetitors = _tourApiData.groups[0].competitor.ToList(); var newGroupCompetitors = new List <team>(); var i = _tourApiData.groups[0].competitor.Length / 2; while (i > 0) { newGroupCompetitors.Add(_tourApiData.groups[0].competitor[i]); oldGroupCompetitors.RemoveAt(i); i--; } newGroup.competitor = newGroupCompetitors.ToArray(); oldGroup.competitor = oldGroupCompetitors.ToArray(); _tourApiData.groups = new[] { oldGroup, newGroup }; _tourDtoData = new TournamentInfoDTO(_tourApiData); _tourCiData.Merge(_tourDtoData, TestData.Culture, false); VerifyTournamentGroups(_tourApiData.groups, _tourCiData.GetGroupsAsync(_cultures).Result); VerifyTournamentCompetitors(_tourApiData.competitors, _tourApiData.groups, _tourCiData.GetCompetitorsIdsAsync(_cultures).Result); // remove group _tourApiData.groups = null; _tourDtoData = new TournamentInfoDTO(_tourApiData); _tourCiData.Merge(_tourDtoData, TestData.Culture, false); VerifyTournamentGroups(_tourApiData.groups, _tourCiData.GetGroupsAsync(_cultures).Result); VerifyTournamentCompetitors(_tourApiData.competitors, _tourApiData.groups, _tourCiData.GetCompetitorsIdsAsync(_cultures).Result); }
public void SeasonGroupMultipleCultures() { VerifyTournamentGroups(_seasonApiData.groups, _seasonCiData.GetGroupsAsync(TestData.Cultures3).Result); VerifyTournamentCompetitors(_seasonApiData.competitors, _seasonApiData.groups, _seasonCiData.GetCompetitorsIdsAsync(TestData.Cultures3).Result); var oldGroup = _seasonApiData.groups[0]; var oldGroupCompetitors = _seasonApiData.groups[0].competitor.ToList(); var oldGroupCompetitors2 = _seasonApiData.groups[1].competitor.ToList(); var newGroupCompetitors = new List <team>(); var i = _seasonApiData.groups[0].competitor.Length / 2; while (i > 0) { newGroupCompetitors.Add(_seasonApiData.groups[0].competitor[i]); oldGroupCompetitors.RemoveAt(i); i--; } var compId = URN.Parse(oldGroupCompetitors[0].id); oldGroupCompetitors[0].id = $"{compId.Prefix}:{compId.Type}:{compId.Id / 2}"; oldGroupCompetitors2[0].id = $"{compId.Prefix}:{compId.Type}:{compId.Id / 3}"; oldGroupCompetitors2[1].id = $"{compId.Prefix}:{compId.Type}:{compId.Id / 4}"; oldGroupCompetitors2[2].id = $"{compId.Prefix}:{compId.Type}:{compId.Id / 5}"; var newGroup = new tournamentGroup { competitor = newGroupCompetitors.ToArray() }; var newGroup2 = new tournamentGroup { id = "2", name = "Group2", competitor = oldGroupCompetitors2.ToArray() }; oldGroup.competitor = oldGroupCompetitors.ToArray(); _seasonApiData.groups = new[] { oldGroup, newGroup, newGroup2 }; _seasonDtoData = new TournamentInfoDTO(_seasonApiData); _seasonCiData.Merge(_seasonDtoData, TestData.Cultures3.ElementAt(0), false); VerifyTournamentGroups(_seasonApiData.groups, _seasonCiData.GetGroupsAsync(TestData.Cultures3).Result); VerifyTournamentCompetitors(_seasonApiData.competitors, _seasonApiData.groups, _seasonCiData.GetCompetitorsIdsAsync(TestData.Cultures3).Result); }
public void GroupTest() { var teamType1En = new team { abbreviation = "ABC", country = "Germany", id = "sr:team:1", name = "Team A", @virtual = true, virtualSpecified = true }; var teamType1De = new team { abbreviation = "ABC", country = "Deutschland", id = "sr:team:1", name = "Team A", @virtual = true, virtualSpecified = true }; var teamType2En = new team { abbreviation = "ABC", country = "Germany", id = "sr:team:2", name = "Team B", @virtual = true, virtualSpecified = true }; var teamType2De = new team { abbreviation = "ABC", country = "Deutschland", id = "sr:team:2", name = "Team B", @virtual = true, virtualSpecified = true }; var groupType1 = new tournamentGroup { name = "Group A", competitor = new[] { teamType1En, teamType2En } }; var groupType2 = new tournamentGroup { name = "Group A", competitor = new[] { teamType1De, teamType2De } }; var groupDTO1 = new GroupDTO(groupType1); var groupDTO2 = new GroupDTO(groupType2); var groupCI = new GroupCI(groupDTO1, _cultureFirst); groupCI.Merge(groupDTO2, _cultureSecond); Assert.IsNotNull(groupCI); Assert.AreEqual(groupType1.name, groupCI.Name); Assert.AreEqual(groupType1.competitor.Length, groupCI.CompetitorsIds.Count()); Assert.AreEqual(groupType1.competitor[0].id, groupCI.CompetitorsIds.ToList()[0].ToString()); Assert.AreEqual(groupType1.competitor[1].id, groupCI.CompetitorsIds.ToList()[1].ToString()); Assert.AreNotEqual(groupCI.CompetitorsIds.ToList()[0].Id, groupCI.CompetitorsIds.ToList()[1]); }