public void Given_RealGameTest() { uint eventFiredCount = 0; var challengeResultSender = new ChallengeResultSender(); challengeResultSender.ChallengeResultEvent += result => { eventFiredCount++; }; challengeResultSender.CheckProjectCarsStateData(new TestStateData(lastLapTime: -1f, lapInvalidated: false)); challengeResultSender.CheckProjectCarsStateData(new TestStateData(lastLapTime: 42f, lapInvalidated: false)); //should fire an event challengeResultSender.CheckProjectCarsStateData(new TestStateData(lastLapTime: 40f, lapInvalidated: false)); //should fire an event challengeResultSender.CheckProjectCarsStateData(new TestStateData(lastLapTime: 40f, lapInvalidated: true)); challengeResultSender.CheckProjectCarsStateData(new TestStateData(lastLapTime: 47f, lapInvalidated: false)); challengeResultSender.CheckProjectCarsStateData(new TestStateData(lastLapTime: 47f, lapInvalidated: true)); challengeResultSender.CheckProjectCarsStateData(new TestStateData(lastLapTime: 39f, lapInvalidated: false)); challengeResultSender.CheckProjectCarsStateData(new TestStateData(lastLapTime: 39f, lapInvalidated: true)); challengeResultSender.CheckProjectCarsStateData(new TestStateData(lastLapTime: 45f, lapInvalidated: true)); challengeResultSender.CheckProjectCarsStateData(new TestStateData(lastLapTime: 43f, lapInvalidated: false)); Assert.That(eventFiredCount, Is.EqualTo(2)); }
public void Given_WarmupLap_Then_InvalidLap_IsEventMissing() { uint eventFiredCount = 0; var challengeResultSender = new ChallengeResultSender(); challengeResultSender.ChallengeResultEvent += result => { eventFiredCount++; }; challengeResultSender.CheckProjectCarsStateData(new TestStateData(lastLapTime: -1f, lapInvalidated: false)); //warmup lap challengeResultSender.CheckProjectCarsStateData(new TestStateData(lastLapTime: 42f, lapInvalidated: true)); //should not fire an event Assert.That(eventFiredCount, Is.EqualTo(0)); }
public void Given_GameExited_IsEventMissing() { ProjectCarsStateData projectCarsStateData = new ProjectCarsStateData( carName: "Formula A", trackLocation: "Barcelona", trackVariant: "Club", lastLapTime: 60, lapInvalidated: false, gameState: GameState.GameExited, sessionState: SessionState.SessionTimeAttack, raceState: RaceState.RacestateRacing ); bool eventWasFired = false; _challengeResultSender.ChallengeResultEvent += result => { eventWasFired = true; }; _challengeResultSender.CheckProjectCarsStateData(projectCarsStateData); Assert.That(!eventWasFired); }