From 8ee054c6bf5955eea622d9134093051e36426169 Mon Sep 17 00:00:00 2001 From: Albert Chaulk Date: Fri, 5 Apr 2024 17:00:01 -0400 Subject: [PATCH 1/3] Fix kotlin tests, remove unused code assertThat(false) doesn't actually do anythung, it returns an object you can then make assertions against, use assertTrue instead testQRCodeWithOptionalData relied upon an implicit ordering, however the underlying representation (HashMap) is unordered --- .../ManualOnboardingPayloadGenerator.kt | 2 -- .../QRCodeBasicOnboardingPayloadGenerator.kt | 3 -- .../onboardingpayload/ManualCodeTest.kt | 27 ++++++++--------- .../matter/onboardingpayload/QRCodeTest.kt | 29 ++++++++++--------- 4 files changed, 29 insertions(+), 32 deletions(-) diff --git a/src/controller/java/src/matter/onboardingpayload/ManualOnboardingPayloadGenerator.kt b/src/controller/java/src/matter/onboardingpayload/ManualOnboardingPayloadGenerator.kt index d47e6ffc0c068b..85152e514ac705 100644 --- a/src/controller/java/src/matter/onboardingpayload/ManualOnboardingPayloadGenerator.kt +++ b/src/controller/java/src/matter/onboardingpayload/ManualOnboardingPayloadGenerator.kt @@ -183,7 +183,5 @@ class ManualOnboardingPayloadGenerator(private val payloadContents: OnboardingPa if (offset + len > buffer.size) { throw OnboardingPayloadException("The outBuffer has insufficient size") } - - String.format("%0${len}d", number).toCharArray(buffer, offset, 0, len) } } diff --git a/src/controller/java/src/matter/onboardingpayload/QRCodeBasicOnboardingPayloadGenerator.kt b/src/controller/java/src/matter/onboardingpayload/QRCodeBasicOnboardingPayloadGenerator.kt index a51fd8367be335..f94e1e382a8272 100644 --- a/src/controller/java/src/matter/onboardingpayload/QRCodeBasicOnboardingPayloadGenerator.kt +++ b/src/controller/java/src/matter/onboardingpayload/QRCodeBasicOnboardingPayloadGenerator.kt @@ -68,9 +68,6 @@ fun payloadBase38RepresentationWithTLV( // Copy the subBuffer back to the outBuffer subBuffer.copyInto(outBuffer, prefixLen) - - // Reduce output buffer size to be the size of written data - outBuffer.copyOf(prefixLen + subBuffer.size) } } diff --git a/src/controller/java/tests/matter/onboardingpayload/ManualCodeTest.kt b/src/controller/java/tests/matter/onboardingpayload/ManualCodeTest.kt index 900a3eb1a7ff72..42e60e7bfac37d 100644 --- a/src/controller/java/tests/matter/onboardingpayload/ManualCodeTest.kt +++ b/src/controller/java/tests/matter/onboardingpayload/ManualCodeTest.kt @@ -24,6 +24,7 @@ import kotlin.math.ceil import kotlin.math.log10 import kotlin.math.pow import org.junit.Assert.assertEquals +import org.junit.Assert.assertTrue import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.JUnit4 @@ -444,7 +445,7 @@ class ManualCodeTest { // Override the discriminator in the input payload with the short version, // since that's what we will produce. inPayload.setShortDiscriminatorValue(inPayload.getShortDiscriminatorValue()) - assertThat(inPayload == outPayload) + assertEquals(inPayload, outPayload) } /* @@ -464,7 +465,7 @@ class ManualCodeTest { // Override the discriminator in the input payload with the short version, // since that's what we will produce. inPayload.setShortDiscriminatorValue(inPayload.getShortDiscriminatorValue()) - assertThat(inPayload == outPayload) + assertEquals(inPayload, outPayload) } /* @@ -479,7 +480,7 @@ class ManualCodeTest { try { ManualOnboardingPayloadParser.checkDecimalStringValidity(representationWithoutCheckDigit) - assertThat(false) + assertTrue(false) } catch (e: Exception) { println("Expected exception occurred: ${e.message}") } @@ -487,7 +488,7 @@ class ManualCodeTest { representationWithoutCheckDigit = "1" try { ManualOnboardingPayloadParser.checkDecimalStringValidity(representationWithoutCheckDigit) - assertThat(false) + assertTrue(false) } catch (e: Exception) { println("Expected exception occurred: ${e.message}") } @@ -516,28 +517,28 @@ class ManualCodeTest { try { ManualOnboardingPayloadParser.checkCodeLengthValidity("01234567891", false) - assertThat(false) + assertTrue(false) } catch (e: Exception) { println("Expected exception occurred: ${e.message}") } try { ManualOnboardingPayloadParser.checkCodeLengthValidity("012345678", false) - assertThat(false) + assertTrue(false) } catch (e: Exception) { println("Expected exception occurred: ${e.message}") } try { ManualOnboardingPayloadParser.checkCodeLengthValidity("012345678901234567891", true) - assertThat(false) + assertTrue(false) } catch (e: Exception) { println("Expected exception occurred: ${e.message}") } try { ManualOnboardingPayloadParser.checkCodeLengthValidity("0123456789012345678", true) - assertThat(false) + assertTrue(false) } catch (e: Exception) { println("Expected exception occurred: ${e.message}") } @@ -562,14 +563,14 @@ class ManualCodeTest { try { ManualOnboardingPayloadParser.toNumber("012345.123456789") - assertThat(false) + assertTrue(false) } catch (e: Exception) { println("Expected exception occurred: ${e.message}") } try { ManualOnboardingPayloadParser.toNumber("/") - assertThat(false) + assertTrue(false) } catch (e: Exception) { println("Expected exception occurred: ${e.message}") } @@ -631,14 +632,14 @@ class ManualCodeTest { try { index.set(1) ManualOnboardingPayloadParser.readDigitsFromDecimalString("12345", index, 5) - assertThat(false) + assertTrue(false) } catch (e: Exception) { println("Expected exception occurred: ${e.message}") } try { ManualOnboardingPayloadParser.readDigitsFromDecimalString("12", index, 5) - assertThat(false) + assertTrue(false) } catch (e: Exception) { println("Expected exception occurred: ${e.message}") } @@ -646,7 +647,7 @@ class ManualCodeTest { try { index.set(200) ManualOnboardingPayloadParser.readDigitsFromDecimalString("6256276377282", index, 1) - assertThat(false) + assertTrue(false) } catch (e: Exception) { println("Expected exception occurred: ${e.message}") } diff --git a/src/controller/java/tests/matter/onboardingpayload/QRCodeTest.kt b/src/controller/java/tests/matter/onboardingpayload/QRCodeTest.kt index 62dff45174b7ed..4cc9477521e3fc 100644 --- a/src/controller/java/tests/matter/onboardingpayload/QRCodeTest.kt +++ b/src/controller/java/tests/matter/onboardingpayload/QRCodeTest.kt @@ -20,6 +20,7 @@ package matter.onboardingpayload import com.google.common.truth.Truth.assertThat import org.junit.Assert.assertEquals +import org.junit.Assert.assertTrue import org.junit.Test import org.junit.runner.RunWith import org.junit.runners.JUnit4 @@ -224,7 +225,7 @@ class QRCodeTest { try { QRCodeOnboardingPayloadParser(invalidString).populatePayload() - assertThat(false) + assertTrue(false) } catch (e: Exception) { println("Expected exception occurred: ${e.message}") } @@ -240,7 +241,7 @@ class QRCodeTest { try { QRCodeOnboardingPayloadParser(invalidString).populatePayload() - assertThat(false) + assertTrue(false) } catch (e: Exception) { println("Expected exception occurred: ${e.message}") } @@ -396,21 +397,21 @@ class QRCodeTest { // verify we can grab just the serial number as well assertThat(parsedQrCode.getSerialNumber()).isEqualTo("123456789") - // Test 2nd optional field - optionalQRCodeInfo = OptionalQRCodeInfoExtension() - optionalQRCodeInfo.tag = 130 - optionalQRCodeInfo.type = OptionalQRCodeInfoType.TYPE_STRING - optionalQRCodeInfo.data = "myData" + val optionalQRCodeInfo1 = OptionalQRCodeInfoExtension() + optionalQRCodeInfo1.tag = 130 + optionalQRCodeInfo1.type = OptionalQRCodeInfoType.TYPE_STRING + optionalQRCodeInfo1.data = "myData" - assertThat(parsedQrCode.getAllOptionalVendorData()[0]).isEqualTo(optionalQRCodeInfo) + val optionalQRCodeInfo2 = OptionalQRCodeInfoExtension() + optionalQRCodeInfo2.tag = 131 + optionalQRCodeInfo2.type = OptionalQRCodeInfoType.TYPE_INT32 + optionalQRCodeInfo2.int32 = 12 - // Test 3rd optional field - optionalQRCodeInfo = OptionalQRCodeInfoExtension() - optionalQRCodeInfo.tag = 131 - optionalQRCodeInfo.type = OptionalQRCodeInfoType.TYPE_INT32 - optionalQRCodeInfo.int32 = 12 + val vendor1 = parsedQrCode.getAllOptionalVendorData()[0] + val vendor2 = parsedQrCode.getAllOptionalVendorData()[1] - assertThat(parsedQrCode.getAllOptionalVendorData()[1]).isEqualTo(optionalQRCodeInfo) + assertTrue(vendor1 == optionalQRCodeInfo1 || vendor1 == optionalQRCodeInfo2) + assertTrue(vendor2 == optionalQRCodeInfo1 || vendor2 == optionalQRCodeInfo2) } companion object { From 2d0b8ff28127e83152089066f88c4e8bc2ad7da0 Mon Sep 17 00:00:00 2001 From: Albert Chaulk Date: Wed, 10 Apr 2024 16:02:32 -0400 Subject: [PATCH 2/3] re-add line with unused val --- .../onboardingpayload/ManualOnboardingPayloadGenerator.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/controller/java/src/matter/onboardingpayload/ManualOnboardingPayloadGenerator.kt b/src/controller/java/src/matter/onboardingpayload/ManualOnboardingPayloadGenerator.kt index 85152e514ac705..56641b616b184a 100644 --- a/src/controller/java/src/matter/onboardingpayload/ManualOnboardingPayloadGenerator.kt +++ b/src/controller/java/src/matter/onboardingpayload/ManualOnboardingPayloadGenerator.kt @@ -183,5 +183,7 @@ class ManualOnboardingPayloadGenerator(private val payloadContents: OnboardingPa if (offset + len > buffer.size) { throw OnboardingPayloadException("The outBuffer has insufficient size") } + + val unused = String.format("%0${len}d", number).toCharArray(buffer, offset, 0, len) } } From 1ed7609a164d2e9bb1092e016379e87be92c423d Mon Sep 17 00:00:00 2001 From: Albert Chaulk Date: Thu, 11 Apr 2024 14:22:57 -0400 Subject: [PATCH 3/3] Revert val unused = --- .../onboardingpayload/ManualOnboardingPayloadGenerator.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controller/java/src/matter/onboardingpayload/ManualOnboardingPayloadGenerator.kt b/src/controller/java/src/matter/onboardingpayload/ManualOnboardingPayloadGenerator.kt index 56641b616b184a..d47e6ffc0c068b 100644 --- a/src/controller/java/src/matter/onboardingpayload/ManualOnboardingPayloadGenerator.kt +++ b/src/controller/java/src/matter/onboardingpayload/ManualOnboardingPayloadGenerator.kt @@ -184,6 +184,6 @@ class ManualOnboardingPayloadGenerator(private val payloadContents: OnboardingPa throw OnboardingPayloadException("The outBuffer has insufficient size") } - val unused = String.format("%0${len}d", number).toCharArray(buffer, offset, 0, len) + String.format("%0${len}d", number).toCharArray(buffer, offset, 0, len) } }