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);
        }
Esempio n. 3
0
 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]);
     }
 }
Esempio n. 4
0
        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);
        }
Esempio n. 8
0
        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]);
        }