Match the Available Mults and Qs window to N1MM's screenshots
The summary table labels had no foreground set, so only the highlighted numbers drew. The window now has the two-line Mults/Qs and Bands/Modes buttons, a bold summary table, a list sorted on frequency, a ringed picked row, a tick in the Mlt column and N1MM's empty-list message. Bands & Modes opens a window with band groups and the CW, Phone, Digital and Contest modes. The hover text uses SpotDescription like the bandmap, so control characters and the cluster time are gone. Grid columns keep a minimum width of their heading in the Available, Statistics and Network status windows. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
using Nonemm.App.Windows;
|
||||
using Nonemm.Contests;
|
||||
using Nonemm.Core;
|
||||
using Nonemm.Session;
|
||||
using Nonemm.Spotting;
|
||||
|
||||
namespace Nonemm.App.Tests;
|
||||
|
||||
public class AvailableRowTests
|
||||
{
|
||||
private static readonly DateTime Now = new(2026, 5, 30, 12, 0, 0, DateTimeKind.Utc);
|
||||
|
||||
private static AvailableRow Row(string comment)
|
||||
{
|
||||
Spot spot = new(
|
||||
Callsign.Parse("DL1ABC"),
|
||||
Frequency.FromKilohertz(14_025),
|
||||
Now.AddMinutes(-5),
|
||||
SpotSource.Cluster,
|
||||
"OK1TEST",
|
||||
comment);
|
||||
return new AvailableRow(new AvailableStation(spot, Bands.Band20M, Verdict.Dupe), "CW", Now, null, false, false);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TheHoverTextHasNoControlCharactersOtherThanLineBreaks()
|
||||
{
|
||||
string tip = Row("CW 24 dB\r\a 1234Z\r\n").Tip;
|
||||
|
||||
Assert.DoesNotContain(tip, c => char.IsControl(c) && c != '\n');
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void TheHoverTextLeavesOutTheClusterTimeAndTheSideband()
|
||||
{
|
||||
Assert.DoesNotContain("1234Z", Row("CW 24 dB 1234Z").Tip);
|
||||
Assert.Equal("14025.0 by OK1TEST, 5m ago", Row("USB").Tip);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user