Name the All Asian multiplier after what it counts
The score window and the stored Contest.Multiplier1Name row both said "Prefixes" for an Asian entrant, which counts DXCC entities. Contest.MultiplierNames is now MultiplierNamesFor(StationInfo me), the same shape as ExchangeFieldsFor. Every other contest returns the same list it did before; All Asian returns "Countries" from Asia and "Prefixes" from everywhere else. ContestDefinitions.For takes the station as well, because that name is written to the log for N1MM. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0157i7PiZyqBkquxS9A6FTdQ
This commit is contained in:
@@ -6,10 +6,19 @@ namespace Nonemm.Session.Tests;
|
||||
|
||||
public class ContestDefinitionsTests
|
||||
{
|
||||
private static readonly StationInfo Germany = new()
|
||||
{
|
||||
Callsign = "DL1ABC",
|
||||
CqZone = 14,
|
||||
ItuZone = 28,
|
||||
Continent = "EU",
|
||||
CountryPrefix = "DL",
|
||||
};
|
||||
|
||||
[Fact]
|
||||
public void NamesAndModeComeFromTheContest()
|
||||
{
|
||||
ContestDefinition definition = ContestDefinitions.For(new CqWorldWide(ModeCategory.Cw));
|
||||
ContestDefinition definition = ContestDefinitions.For(new CqWorldWide(ModeCategory.Cw), Germany);
|
||||
Assert.Equal("CQWWCW", definition.Name);
|
||||
Assert.Equal("CQ-WW-CW", definition.CabrilloName);
|
||||
Assert.Equal("CW", definition.Mode);
|
||||
@@ -18,7 +27,7 @@ public class ContestDefinitionsTests
|
||||
[Fact]
|
||||
public void MultiplierNamesFillUpToThree()
|
||||
{
|
||||
ContestDefinition definition = ContestDefinitions.For(new CqWorldWide(ModeCategory.Cw));
|
||||
ContestDefinition definition = ContestDefinitions.For(new CqWorldWide(ModeCategory.Cw), Germany);
|
||||
Assert.Equal("Zones", definition.Multiplier1Name);
|
||||
Assert.Equal("Countries", definition.Multiplier2Name);
|
||||
Assert.Equal("N/A", definition.Multiplier3Name);
|
||||
@@ -33,10 +42,10 @@ public class ContestDefinitionsTests
|
||||
object made = contest == typeof(IaruHf)
|
||||
? new IaruHf()
|
||||
: Activator.CreateInstance(contest, ModeCategory.Cw)!;
|
||||
Assert.Equal(expected, ContestDefinitions.For((Contests.Contest)made).DupeType);
|
||||
Assert.Equal(expected, ContestDefinitions.For((Contests.Contest)made, Germany).DupeType);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ContestWithSeveralModesIsBoth() =>
|
||||
Assert.Equal("BOTH", ContestDefinitions.For(new IaruHf()).Mode);
|
||||
Assert.Equal("BOTH", ContestDefinitions.For(new IaruHf(), Germany).Mode);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user