Say what happens instead of making files do things
A file is written to; it does not write, score or name anything. Five comments and doc lines said otherwise, two of them older than today. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RoGtneMQaz4M9w7Kk49AVD
This commit is contained in:
@@ -137,15 +137,15 @@ What still differs, and why:
|
|||||||
like it was never scored. The rules here follow the class: 5 points for a
|
like it was never scored. The rules here follow the class: 5 points for a
|
||||||
portable station, 2 for one in Region 1 at home and 3 from outside it.
|
portable station, 2 for one in Region 1 at home and 3 from outside it.
|
||||||
- **SA 10 and OK/OM DX on SSB** are not written in code at all: both are
|
- **SA 10 and OK/OM DX on SSB** are not written in code at all: both are
|
||||||
published as `.udc` files, and the files score the station's logs to the
|
published as `.udc` files, and with those files in the user-defined contests
|
||||||
contact. N1MM's OK/OM DX class is the CW running only and says so; the SSB
|
folder the station's logs score to the contact. N1MM's OK/OM DX class is the CW running only and says so; the SSB
|
||||||
running has different rules and its own pair of files, one for each side of
|
running has different rules and its own pair of files, one for each side of
|
||||||
the contest.
|
the contest.
|
||||||
- **A `.udc` section multiplier** is counted for any exchange that is not all
|
- **A `.udc` section multiplier** is counted for any exchange that is not all
|
||||||
digits. N1MM checks it against the section list the file names in
|
digits. N1MM checks it against the section list given in the file's
|
||||||
`MultWindowType`, and those lists are not held here, so a US state sent into
|
`MultWindowType` setting, and those lists are not held here, so a US state
|
||||||
an OK/OM DX log counts here and not in N1MM. Three contacts across the two
|
sent into an OK/OM DX log counts as a multiplier here and not in N1MM. Three
|
||||||
logs.
|
contacts across the two logs.
|
||||||
- **The BARTG Sprint** stores the time of the contact in the exchange column,
|
- **The BARTG Sprint** stores the time of the contact in the exchange column,
|
||||||
which N1MM fills in by itself. Nothing here fills it in yet, so a log written
|
which N1MM fills in by itself. Nothing here fills it in yet, so a log written
|
||||||
here carries the serial number alone.
|
here carries the serial number alone.
|
||||||
|
|||||||
@@ -65,8 +65,8 @@ public sealed class FieldDayRegionOne : Contest
|
|||||||
|| call.Text.EndsWith("/M", StringComparison.OrdinalIgnoreCase)
|
|| call.Text.EndsWith("/M", StringComparison.OrdinalIgnoreCase)
|
||||||
|| call.Text.EndsWith("/A", StringComparison.OrdinalIgnoreCase);
|
|| call.Text.EndsWith("/A", StringComparison.OrdinalIgnoreCase);
|
||||||
|
|
||||||
/// Region 1 is Europe, Africa and the Middle East; the country file names
|
/// Region 1 is Europe, Africa and the Middle East. The country file has a
|
||||||
/// the first two, and Asia is split between regions, which the continent
|
/// continent for the first two; the Middle East is inside Asia, which is
|
||||||
/// alone cannot say.
|
/// split between regions, and the continent alone does not separate them.
|
||||||
private static bool IsRegionOne(string continent) => continent is "EU" or "AF";
|
private static bool IsRegionOne(string continent) => continent is "EU" or "AF";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ using System.Globalization;
|
|||||||
namespace Nonemm.Core.Country;
|
namespace Nonemm.Core.Country;
|
||||||
|
|
||||||
/// One alias from the country file: a prefix or whole call, plus the overrides
|
/// One alias from the country file: a prefix or whole call, plus the overrides
|
||||||
/// the file writes after it, such as `K5(4)[7]` for a different zone.
|
/// the file holds after it, such as `K5(4)[7]` for a different zone.
|
||||||
public sealed class PrefixRule
|
public sealed class PrefixRule
|
||||||
{
|
{
|
||||||
private readonly DxccEntity entity;
|
private readonly DxccEntity entity;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ public sealed record StationInfo
|
|||||||
|
|
||||||
public string Continent { get; init; } = "";
|
public string Continent { get; init; } = "";
|
||||||
|
|
||||||
/// The primary prefix of the entity operated from, as the country file names it.
|
/// The primary prefix of the entity operated from, as spelled in the country file.
|
||||||
public string CountryPrefix { get; init; } = "";
|
public string CountryPrefix { get; init; } = "";
|
||||||
|
|
||||||
public string State { get; init; } = "";
|
public string State { get; init; } = "";
|
||||||
|
|||||||
@@ -275,8 +275,8 @@ public class UdcScoringTests
|
|||||||
Assert.Single(LogFor(contest).Judge(TestLog.Contact("OM3XYZ", section: "NOV")).NewMultipliers);
|
Assert.Single(LogFor(contest).Judge(TestLog.Contact("OM3XYZ", section: "NOV")).NewMultipliers);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// `Country` is what a published file writes where the editor writes
|
/// Published files hold `Country` in this key; the UDC editor puts
|
||||||
/// `CountryPrefix`.
|
/// `CountryPrefix` there.
|
||||||
[Fact]
|
[Fact]
|
||||||
public void CountryIsTheSameSourceAsCountryPrefix() =>
|
public void CountryIsTheSameSourceAsCountryPrefix() =>
|
||||||
Assert.Equal(
|
Assert.Equal(
|
||||||
|
|||||||
Reference in New Issue
Block a user