public void Given_SessionPractice_IsEventMissing() { ProjectCarsStateData projectCarsStateData = new ProjectCarsStateData( carName: "Formula A", trackLocation: "Barcelona", trackVariant: "Club", lastLapTime: 60, lapInvalidated: false, gameState: GameState.GameIngamePlaying, sessionState: SessionState.SessionPractice, raceState: RaceState.RacestateRacing ); bool eventWasFired = false; _challengeResultSender.ChallengeResultEvent += result => { eventWasFired = true; }; _challengeResultSender.CheckProjectCarsStateData(projectCarsStateData); Assert.That(!eventWasFired); }
public void Given_CheckingTwice_IsEventFiredOnlyOnce() { ProjectCarsStateData projectCarsStateData = new ProjectCarsStateData( carName: "Formula A", trackLocation: "Barcelona", trackVariant: "Club", lastLapTime: 100, lapInvalidated: false, gameState: GameState.GameIngamePlaying, sessionState: SessionState.SessionTimeAttack, raceState: RaceState.RacestateRacing ); uint eventFiredCount = 0; _challengeResultSender.ChallengeResultEvent += result => { eventFiredCount++; }; _challengeResultSender.CheckProjectCarsStateData(projectCarsStateData); _challengeResultSender.CheckProjectCarsStateData(projectCarsStateData); Assert.That(eventFiredCount, Is.EqualTo(1)); }
public void Given_DefaultInput_IsTrackLocationAndVariantEqual() { ProjectCarsStateData projectCarsStateData = new ProjectCarsStateData( carName: "Formula A", trackLocation: "Barcelona", trackVariant: "Club", lastLapTime: 60, lapInvalidated: false, gameState: GameState.GameIngamePlaying, sessionState: SessionState.SessionTimeAttack, raceState: RaceState.RacestateRacing ); string trackLocationAndVariant = ""; _challengeResultSender.ChallengeResultEvent += result => { trackLocationAndVariant = result.TrackLocationAndVariant; }; _challengeResultSender.CheckProjectCarsStateData(projectCarsStateData); Assert.That(trackLocationAndVariant, Is.EqualTo("Barcelona Club")); }
public void Given_DefaultInput_IsTimeCorrect() { ProjectCarsStateData projectCarsStateData = new ProjectCarsStateData( carName: "Formula A", trackLocation: "Barcelona", trackVariant: "Club", lastLapTime: 60, lapInvalidated: false, gameState: GameState.GameIngamePlaying, sessionState: SessionState.SessionTimeAttack, raceState: RaceState.RacestateRacing ); TimeSpan lastValidLapTime = new TimeSpan(0); _challengeResultSender.ChallengeResultEvent += result => { lastValidLapTime = result.LastValidLapTime; }; _challengeResultSender.CheckProjectCarsStateData(projectCarsStateData); Assert.That(lastValidLapTime.TotalSeconds, Is.EqualTo(60d)); }