using Nonemm.Contests.Rules; using Nonemm.Core; namespace Nonemm.Contests.Tests; public class SweepstakesTests { private static ContestLog Log() => new(new Sweepstakes(ModeCategory.Cw), TestLog.UnitedStates, TestLog.CountryFile); [Fact] public void EveryContactScoresTwo() => Assert.Equal(2, Log().Judge(TestLog.Contact("K1ABC", section: "CT")).Points); [Fact] public void AStationWorkedOnOneBandIsADupeOnEveryOther() { ContestLog log = Log(); log.Add(TestLog.Contact("K1ABC", section: "CT")); Assert.True(log.Judge(TestLog.Contact("K1ABC", 7_025, section: "CT")).IsDupe); } [Fact] public void SectionsCountOnceForTheWholeContest() { ContestLog log = Log(); log.Add(TestLog.Contact("K1ABC", section: "CT")); Assert.Empty(log.Judge(TestLog.Contact("K2ABC", 7_025, section: "CT")).NewMultipliers); Assert.Single(log.Judge(TestLog.Contact("K2ABC", 7_025, section: "WMA")).NewMultipliers); } [Fact] public void SomethingThatIsNotASectionCountsForNothing() => Assert.Empty(Log().Judge(TestLog.Contact("K1ABC", section: "ZZ")).NewMultipliers); }