mirror of
https://github.com/atsunatsu/Look4Sat.git
synced 2026-10-05 12:07:25 +00:00
test(lotw): VUCC up to 4 grids in one contact; clarify comment
This commit is contained in:
1 parent
39d4498a54
commit
2c5b1479f1
2 files changed
+14
-2
No files matched your search
+3
-2
@@ -194,8 +194,9 @@ class LoTWRepository : ILoTWRepository {
|
|||||||
line.startsWith("<BAND:") && !line.startsWith("<BAND_RX:") ->
|
line.startsWith("<BAND:") && !line.startsWith("<BAND_RX:") ->
|
||||||
bandDown = adifValue(line).uppercase()
|
bandDown = adifValue(line).uppercase()
|
||||||
line.startsWith("<GRIDSQUARE:") || line.startsWith("<VUCC_GRIDS:") -> {
|
line.startsWith("<GRIDSQUARE:") || line.startsWith("<VUCC_GRIDS:") -> {
|
||||||
// VUCC_GRIDS holds a comma-separated PAIR of grids
|
// VUCC_GRIDS holds a comma-separated list of grids
|
||||||
// ("EN52en,EN53fa"); split and keep every 4-char field.
|
// ("EN52en,EN53fa"), up to four for contacts spanning
|
||||||
|
// several squares; split and keep every 4-char field.
|
||||||
adifValue(line).split(',').forEach { grid ->
|
adifValue(line).split(',').forEach { grid ->
|
||||||
val field = grid.trim().uppercase()
|
val field = grid.trim().uppercase()
|
||||||
if (field.length >= 4) gridsInRecord.add(field.take(4))
|
if (field.length >= 4) gridsInRecord.add(field.take(4))
|
||||||
|
|||||||
+11
@@ -111,6 +111,17 @@ class LoTWRepositoryTest {
|
|||||||
assertEquals(result["EN52"]!!.first(), result["EN53"]!!.first())
|
assertEquals(result["EN52"]!!.first(), result["EN53"]!!.first())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun parseQsosVuccQuadrupleFeedsAllFourGrids() {
|
||||||
|
// VUCC allows up to four grids in one contact.
|
||||||
|
val qso = "<PROP_MODE:3>SAT\n<SAT_NAME:5>SO-50\n" +
|
||||||
|
"<QSO_DATE:8>20260819\n<TIME_ON:4>1231\n" +
|
||||||
|
"<VUCC_GRIDS:23>EN52en,EN53fa,EN42gj,EN43kh\n<EOR>\n"
|
||||||
|
val result = repo.parseConfirmedGridQsos(report(qso))!!
|
||||||
|
assertEquals(setOf("EN52", "EN53", "EN42", "EN43"), result.keys)
|
||||||
|
result.values.forEach { assertEquals(1, it.size) }
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun parseQsosRejectsBodyWithoutEoh() {
|
fun parseQsosRejectsBodyWithoutEoh() {
|
||||||
assertNull(repo.parseConfirmedGridQsos("<HTML>Username/password incorrect</HTML>"))
|
assertNull(repo.parseConfirmedGridQsos("<HTML>Username/password incorrect</HTML>"))
|
||||||
|
|||||||
Reference in new issue
Block a user