Ejemplo n.º 1
0
        public void SameFixture_NoEvents()
        {
            var fixture = new Fixture();
            var events  = FixtureDiffer.DiffFixtureStats(fixture, fixture);

            Assert.Empty(events);
        }
Ejemplo n.º 2
0
        public void NewFixtureWithAdditionalStats_NewEvent()
        {
            var fixture         = TestBuilder.NoGoals(fixtureCode: 10);
            var fixtureWithGoal = TestBuilder.AwayTeamGoal(fixtureCode: 10, goals: 1);
            var events          = FixtureDiffer.DiffFixtureStats(newFixture: fixtureWithGoal, fixture);

            Assert.NotEmpty(events);
            Assert.Single(events);
            Assert.Equal(StatType.GoalsScored, events.First().Key);
            Assert.Equal(TestBuilder.PlayerId, events.First().Value.First().PlayerId);
        }
Ejemplo n.º 3
0
    public void Saves_DoesNotProduceEvents()
    {
        var initial   = TestBuilder.NoGoals(fixtureCode: 10);
        var withSaves = TestBuilder.NoGoals(fixtureCode: 10).WithSaves();

        var events = FixtureDiffer.DiffFixtureStats(newFixture: withSaves, initial, new List <Player> {
            TestBuilder.Player()
        });

        Assert.Empty(events);
    }
Ejemplo n.º 4
0
        public void NewFixtureWithRemovedEvent_NewEvent_WithRemovedFlagTrue()
        {
            var fixtureWithGoal    = TestBuilder.AwayTeamGoal(fixtureCode: 10, goals: 1);
            var fixtureGoalRemoved = TestBuilder.NoGoals(fixtureCode: 10);
            var events             = FixtureDiffer.DiffFixtureStats(newFixture: fixtureGoalRemoved, fixtureWithGoal);

            Assert.NotEmpty(events);
            Assert.Single(events);
            Assert.Equal(StatType.GoalsScored, events.First().Key);
            var playerEvent = events.First().Value.First();

            Assert.Equal(TestBuilder.PlayerId, playerEvent.PlayerId);
            Assert.True(playerEvent.IsRemoved);
        }
Ejemplo n.º 5
0
    public static IEnumerable <FixtureEvents> GetUpdatedFixtureEvents(ICollection <Fixture> latestFixtures, ICollection <Fixture> current, ICollection <Player> players, ICollection <Team> teams)
    {
        if (latestFixtures == null)
        {
            return(new List <FixtureEvents>());
        }

        if (current == null)
        {
            return(new List <FixtureEvents>());
        }

        return(latestFixtures.Where(f => f.Stats.Any()).Select(fixture =>
        {
            var homeTeam = teams.FirstOrDefault(t => t.Id == fixture.HomeTeamId);
            var awayTeam = teams.FirstOrDefault(t => t.Id == fixture.AwayTeamId);
            var oldFixture = current.FirstOrDefault(f => f.Code == fixture.Code);
            if (oldFixture != null)
            {
                var newFixtureStats = FixtureDiffer.DiffFixtureStats(fixture, oldFixture, players);

                if (newFixtureStats.Values.Any())
                {
                    return new FixtureEvents
                    (
                        new FixtureScore(

                            new FixtureTeam(homeTeam.Id, homeTeam.Name, homeTeam.ShortName),
                            new FixtureTeam(awayTeam.Id, awayTeam.Name, awayTeam.ShortName),
                            fixture.Minutes,
                            fixture.HomeTeamScore,
                            fixture.AwayTeamScore
                            ),
                        newFixtureStats
                    );
                }
                else
                {
                    return null;
                }
            }

            return null;
        }).WhereNotNull());
    }
Ejemplo n.º 6
0
        public void NullOldFixture_NoEvents()
        {
            var events = FixtureDiffer.DiffFixtureStats(null, new Fixture());

            Assert.Empty(events);
        }
Ejemplo n.º 7
0
        public void NullNewFixture_NoEvents()
        {
            var events = FixtureDiffer.DiffFixtureStats(new Fixture(), null);

            Assert.Empty(events);
        }
Ejemplo n.º 8
0
        public void NullFixtures_NoEvents()
        {
            var events = FixtureDiffer.DiffFixtureStats(null, null);

            Assert.Empty(events);
        }