示例#1
0
 private static void AssertSpot(ClusterSpot spot, string spotter, int?ssid, long frequency, string spotted, string mode, int?db, int?wpm, string comment, int hours, int mins, int hzOffset = 0)
 {
     spot.ReceiverCallsign.Should().Be(spotter);
     spot.ReceiverSsid.Should().Be(ssid);
     spot.Frequency.Should().Be(frequency + hzOffset);
     spot.SenderCallsign.Should().Be(spotted);
     spot.Mode.Should().Be(mode);
     spot.Snr.Should().Be(db);
     spot.Wpm.Should().Be(wpm);
     spot.Comment.Should().Be(comment);
     spot.TimestampZ.Should().Be(DateTime.UtcNow.Date.AddHours(hours).AddMinutes(mins));
 }
示例#2
0
 public void Test_24669f47_6d79_4758_8e08_f9296e2cfdee()
 {
     ClusterSpot.TryParse("DX de SV1AHH:    10110.0  SX7A         SES                            1349Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "SV1AHH", null, 10110000, "SX7A", null, null, null, "SES", 13, 49);
 }
示例#3
0
 public void Test_5deb28d9_c17c_4c25_9e86_e67c17f2f602()
 {
     ClusterSpot.TryParse("DX de G4ZFE-#:   14070.4  SP7OGQ       PSK31 24 dB CQ                 1118Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "G4ZFE", null, 14070400, "SP7OGQ", "PSK31", 24, null, "CQ", 11, 18);
 }
示例#4
0
 public void Test_bf798ebc_89a1_4e7c_91cb_aec6f398dbbf_neg()
 {
     ClusterSpot.TryParse("DX de G4ZFE-#:   14086.6  RA4L         RTTY - 8 dB CQ                 1118Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "G4ZFE", null, 14086600, "RA4L", "RTTY", -8, null, "CQ", 11, 18);
 }
示例#5
0
 public void Test_FT8_with_no_info()
 {
     ClusterSpot.TryParse("DX de K6MKF:      3574.5  HS0ZEE       FT8                            1529Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "K6MKF", null, 3574500, "HS0ZEE", "FT8", null, null, null, 15, 29);
 }
示例#6
0
 public void Test_ed013a75_7475_49e9_b07c_39355e973766()
 {
     ClusterSpot.TryParse("DX de NC7J-#:    14074.0  WB9HLA       FT8  - 5 dB                    1443Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "NC7J", null, 14074000, "WB9HLA", "FT8", -5, null, null, 14, 43);
 }
示例#7
0
 public void Test_0f293aaf_b015_4b45_afee_84323f70d558()
 {
     ClusterSpot.TryParse("DX de LY1NM:     10117.7  YU1TY        cq  cq                         1400Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "LY1NM", null, 10117700, "YU1TY", null, null, null, "cq  cq", 14, 00);
 }
示例#8
0
 public void Test_189bae0e_1143_4067_a42d_0084bd5d9403()
 {
     ClusterSpot.TryParse("DX de N7EKD:      7167.0  YC9VED       CQ  CQ DX  PAPUA NEW GUINA     1400Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "N7EKD", null, 7167000, "YC9VED", null, null, null, "CQ  CQ DX  PAPUA NEW GUINA", 14, 00);
 }
示例#9
0
 public void Test_0b4ff8de_9966_469f_a167_32f15508f12c()
 {
     ClusterSpot.TryParse("DX de ON4KWT:    14207.0  KE5EE        TNX for the QSO Claude         1351Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "ON4KWT", null, 14207000, "KE5EE", null, null, null, "TNX for the QSO Claude", 13, 51);
 }
示例#10
0
 public void Test_f10c9b0b_6011_4461_8490_93ccac101039()
 {
     ClusterSpot.TryParse("DX de VK4HG:     14195.0  S79VU                                       1350Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "VK4HG", null, 14195000, "S79VU", null, null, null, null, 13, 50);
 }
示例#11
0
 public void Test_b8352d0e_adc7_404d_a432_b4cb14b495b1()
 {
     ClusterSpot.TryParse("DX de SM6FMB-#:  14084.0  SV3/SV1NN    RTTY +10 dB CQ                 1118Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "SM6FMB", null, 14084000, "SV3/SV1NN", "RTTY", 10, null, "CQ", 11, 18);
 }
示例#12
0
 public void Test_ba4381fa_c0e2_45fd_bc2e_e425329c6b14()
 {
     ClusterSpot.TryParse("DX de N8AE:      14243.0  SQ9ORQ                                      1350Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "N8AE", null, 14243000, "SQ9ORQ", null, null, null, null, 13, 50);
 }
示例#13
0
 public void Test_f7498cb1_d9c7_4dfa_9967_7315dc92d86b()
 {
     ClusterSpot.TryParse("DX de DL9GTB-#:  14072.0  R6FS         PSK31 30 dB CQ                 1350Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "DL9GTB", null, 14072000, "R6FS", "PSK31", 30, null, "CQ", 13, 50);
 }
示例#14
0
 public void Test_a0a69b50_5bd5_430c_8c33_3b15e8e345a3()
 {
     ClusterSpot.TryParse("DX de CN8AMA:    14207.0  KE5EE        TNX QSO 59                     1350Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "CN8AMA", null, 14207000, "KE5EE", null, null, null, "TNX QSO 59", 13, 50);
 }
示例#15
0
 public void Test_0213eba5_8543_4e93_9c7b_00908c005d56()
 {
     ClusterSpot.TryParse("DX de DL1NDY:    14249.0  SV9IOI       KRETA                          1350Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "DL1NDY", null, 14249000, "SV9IOI", null, null, null, "KRETA", 13, 50);
 }
示例#16
0
 public void Test_07f4e4e7_ed26_4642_9a3e_b27dd34bfeb9()
 {
     ClusterSpot.TryParse("DX de DL9GTB-#:  14070.9  EA3CS        PSK31 42 dB CQ                 1400Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "DL9GTB", null, 14070900, "EA3CS", "PSK31", 42, null, "CQ", 14, 00);
 }
示例#17
0
 public void Test_381eb99f_5ca5_42e0_996a_031b6c237ca3()
 {
     ClusterSpot.TryParse("DX de DL9GTB-#:   7041.5  RA3DFQ       PSK31 23 dB CQ                 1400Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "DL9GTB", null, 7041500, "RA3DFQ", "PSK31", 23, null, "CQ", 14, 00);
 }
示例#18
0
 public void Test_511856b1_acfa_465c_9990_19851d67f9cf()
 {
     ClusterSpot.TryParse("DX de YD0AUU:     7160.0  YF2BMJ       CQ DX with co                  1358Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "YD0AUU", null, 7160000, "YF2BMJ", null, null, null, "CQ DX with co", 13, 58);
 }
示例#19
0
 public void Test_bc672741_6225_4117_b053_8de02ec3558c()
 {
     ClusterSpot.TryParse("DX de OE9GHV-#:   7034.9  HA0HI        RTTY +35 dB CQ                 1400Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "OE9GHV", null, 7034900, "HA0HI", "RTTY", 35, null, "CQ", 14, 00);
 }
示例#20
0
 public void Test_78850b5e_031b_442c_ab1d_0698e04e87fb()
 {
     ClusterSpot.TryParse("DX de DH8WG-10:   7048.0  IU1DEI       Pietro TNX HELL QSO 73         1358Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "DH8WG", 10, 7048000, "IU1DEI", null, null, null, "Pietro TNX HELL QSO 73", 13, 58);
 }
示例#21
0
 public void Test_5a0b3e79_f28d_4b50_a81a_cb9e7bb72658()
 {
     ClusterSpot.TryParse("DX de LU5EPB-#:  14074.0  W0RIC        FT8  -16 dB  928 Hz            1442Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "LU5EPB", null, 14074000, "W0RIC", "FT8", -16, null, null, 14, 42, hzOffset: 928);
 }
示例#22
0
 public void Test_144b5a4f_4f5e_4ac6_ab25_3f977fb0764c()
 {
     ClusterSpot.TryParse("DX de DL9GTB-#:  14071.7  TA4Q         PSK31 25 dB CQ                 1358Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "DL9GTB", null, 14071700, "TA4Q", "PSK31", 25, null, "CQ", 13, 58);
 }
示例#23
0
 public void Test_6a50a268_0d87_4b3d_952e_f05b7fe50c79()
 {
     ClusterSpot.TryParse("DX de GM0KTH-#:  10136.0  F5RRS        FT8  + 9 dB  685 Hz            1442Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "GM0KTH", null, 10136000, "F5RRS", "FT8", 9, null, null, 14, 42, hzOffset: 685);
 }
示例#24
0
 public void Test_b38f9bf0_f28f_4242_aafb_1ab635f35766()
 {
     ClusterSpot.TryParse("DX de W8DEO:     14243.0  SQ9ORQ       5-9 Ohio                       1359Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "W8DEO", null, 14243000, "SQ9ORQ", null, null, null, "5-9 Ohio", 13, 59);
 }
示例#25
0
 public void Test_93158918_144d_4b0d_a6cf_0f26950043fd()
 {
     ClusterSpot.TryParse("DX de ON4KWT:    14249.0  SV9IOI       TNX for the QSO Claude         1359Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "ON4KWT", null, 14249000, "SV9IOI", null, null, null, "TNX for the QSO Claude", 13, 59);
 }
示例#26
0
 public void Test_32b720b7_c448_45fb_b087_387b563af9ad()
 {
     ClusterSpot.TryParse("DX de DM1AA:      7005.1  4U1A                                        1400Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "DM1AA", null, 7005100, "4U1A", null, null, null, null, 14, 00);
 }
示例#27
0
 public void Test_34483244_1b8e_4e3c_aaa7_2798edd72c8c()
 {
     ClusterSpot.TryParse("DX de IZ1HHT:    21229.0  RA3VLA       TnX Nickolay 73                1118Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "IZ1HHT", null, 21229000, "RA3VLA", null, null, null, "TnX Nickolay 73", 11, 18);
 }
示例#28
0
 public void Test_a79d4e13_bc39_43cf_be7a_d9e272672fa6()
 {
     ClusterSpot.TryParse("DX de G4ZFE-#:    7041.4  RA3DFQ       PSK31 19 dB CQ                 1400Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "G4ZFE", null, 7041400, "RA3DFQ", "PSK31", 19, null, "CQ", 14, 00);
 }
示例#29
0
 public void Test_438a0729_7891_4e87_9901_4420c8734669()
 {
     ClusterSpot.TryParse("DX de VU2CPL-#:  14014.9  F5GPE        CW  4 dB 20 WPM CQ             1333Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "VU2CPL", null, 14014900, "F5GPE", "CW", 4, 20, "CQ", 13, 33);
 }
示例#30
0
 public void Test_f9fd5abd_8190_43eb_9938_5ac465da15f8()
 {
     ClusterSpot.TryParse("DX de HB9CAT-#:   7041.1  UW3HM        RTTY +16 dB CQ                 1349Z", out var spot).Should().BeTrue();
     AssertSpot(spot, "HB9CAT", null, 7041100, "UW3HM", "RTTY", 16, null, "CQ", 13, 49);
 }