From a4f9fad3fb347ad6e2f195f1a2316c7b4e3e7951 Mon Sep 17 00:00:00 2001 From: PawelManczak Date: Tue, 5 Mar 2024 19:58:33 +0100 Subject: [PATCH 1/9] test dependencies --- .../detailsText/TextFragment.kt | 2 +- core_dependencies.gradle | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/bernaferrari/changedetection/detailsText/TextFragment.kt b/app/src/main/java/com/bernaferrari/changedetection/detailsText/TextFragment.kt index 2fe2052..1ce3b08 100644 --- a/app/src/main/java/com/bernaferrari/changedetection/detailsText/TextFragment.kt +++ b/app/src/main/java/com/bernaferrari/changedetection/detailsText/TextFragment.kt @@ -341,7 +341,7 @@ class TextFragment : ScopedFragment() { val clipboard = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager val clip = ClipData.newPlainText(context.getString(R.string.app_name), uri) - clipboard.primaryClip = clip + //clipboard.primaryClip = clip Snackbar.make( elastic, diff --git a/core_dependencies.gradle b/core_dependencies.gradle index c638209..8513191 100644 --- a/core_dependencies.gradle +++ b/core_dependencies.gradle @@ -43,4 +43,26 @@ dependencies { implementation Libs2.Google.material implementation Libs2.AndroidX.coreKtx implementation Libs2.AndroidX.constraintlayout + + testImplementation "androidx.test:core:1.4.0" + testImplementation "junit:junit:4.13.2" + testImplementation "androidx.arch.core:core-testing:2.1.0" + testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.1" + testImplementation "com.google.truth:truth:1.1.3" + testImplementation "com.squareup.okhttp3:mockwebserver:4.9.1" + testImplementation "io.mockk:mockk:1.10.5" + debugImplementation "androidx.compose.ui:ui-test-manifest:1.1.0-alpha04" + + // Testy instrumentacyjne + androidTestImplementation 'com.google.dagger:hilt-android-testing:2.37' + androidTestImplementation 'com.google.dagger:hilt-android-compiler:2.37' + androidTestImplementation "junit:junit:4.13.2" + androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.1" + androidTestImplementation "androidx.arch.core:core-testing:2.1.0" + androidTestImplementation "com.google.truth:truth:1.1.3" + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test:core-ktx:1.4.0' + androidTestImplementation "com.squareup.okhttp3:mockwebserver:4.9.1" + androidTestImplementation "io.mockk:mockk-android:1.10.5" + androidTestImplementation 'androidx.test:runner:1.4.0' } From 7e7fb87adfbbee24c9d1b429ea32bd62f032c39d Mon Sep 17 00:00:00 2001 From: PawelManczak Date: Tue, 5 Mar 2024 21:07:49 +0100 Subject: [PATCH 2/9] normalize string unit test --- app/build.gradle.kts | 2 ++ app/src/main/java/test/NormalizeStringTest.kt | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 app/src/main/java/test/NormalizeStringTest.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2f2d1e4..f1ef08d 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -91,6 +91,8 @@ dependencies { implementation(Libs2.Epoxy.epoxy) implementation(Libs2.Epoxy.dataBinding) implementation(Libs2.Epoxy.paging) + implementation("junit:junit:4.12") + implementation("org.junit.jupiter:junit-jupiter:5.8.1") kapt(Libs2.Epoxy.processor) // MvRx diff --git a/app/src/main/java/test/NormalizeStringTest.kt b/app/src/main/java/test/NormalizeStringTest.kt new file mode 100644 index 0000000..703c82a --- /dev/null +++ b/app/src/main/java/test/NormalizeStringTest.kt @@ -0,0 +1,26 @@ +package test + +import com.bernaferrari.base.misc.normalizeString +import org.junit.Assert +import org.junit.Test + +class NormalizeStringTest { + + @Test + fun testNormalizeStringWithCapitalLetters() { + val input = "Hello World" + val expected = "hello world" + val output = input.normalizeString() + Assert.assertEquals(expected, output) + } + + // This test will fail + @Test + fun testNormalizeStringWithSpecialCharacters() { + val input = "Zażółć gęślą jaźń" + val expected = "zazolc gesla jazn" + val output = input.normalizeString() + Assert.assertEquals(expected, output) + } + +} \ No newline at end of file From 80b1b0d1606c11a84e10e29f2f07a74add185a56 Mon Sep 17 00:00:00 2001 From: Alicja Lukaszewicz Date: Thu, 14 Mar 2024 09:28:08 +0100 Subject: [PATCH 3/9] Add test for readableFileSize returning "EMPTY" for zero file size. --- app/src/main/java/test/ReadableFileSizeTest.kt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 app/src/main/java/test/ReadableFileSizeTest.kt diff --git a/app/src/main/java/test/ReadableFileSizeTest.kt b/app/src/main/java/test/ReadableFileSizeTest.kt new file mode 100644 index 0000000..bc771b9 --- /dev/null +++ b/app/src/main/java/test/ReadableFileSizeTest.kt @@ -0,0 +1,15 @@ +package test + +import com.bernaferrari.changedetection.extensions.readableFileSize +import org.junit.Assert +import org.junit.Test + +internal class ReadableFileSizeTest { + @Test + fun testFileSizeZeroReturnsEmpty() { + val input = 0 + val expected = "EMPTY" + val output = input.readableFileSize() + Assert.assertEquals(expected, output) + } +} \ No newline at end of file From ea8cde4e656cc7e35ee640ceeecf0b44591811ee Mon Sep 17 00:00:00 2001 From: Alicja Lukaszewicz Date: Thu, 14 Mar 2024 09:33:21 +0100 Subject: [PATCH 4/9] Add test for readableFileSize returning "EMPTY" for negative file size. --- app/src/main/java/test/ReadableFileSizeTest.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/src/main/java/test/ReadableFileSizeTest.kt b/app/src/main/java/test/ReadableFileSizeTest.kt index bc771b9..d736bd3 100644 --- a/app/src/main/java/test/ReadableFileSizeTest.kt +++ b/app/src/main/java/test/ReadableFileSizeTest.kt @@ -12,4 +12,12 @@ internal class ReadableFileSizeTest { val output = input.readableFileSize() Assert.assertEquals(expected, output) } + + @Test + fun testNegativeFileSizeReturnsEmpty() { + val input = -1 + val expected = "EMPTY" + val output = input.readableFileSize() + Assert.assertEquals(expected, output) + } } \ No newline at end of file From 47ea8992283306d9495e6aa59d81237c202fdf6e Mon Sep 17 00:00:00 2001 From: Alicja Lukaszewicz Date: Thu, 14 Mar 2024 09:36:32 +0100 Subject: [PATCH 5/9] Add test for readableFileSize conversion between bytes and kilobytes. --- app/src/main/java/test/ReadableFileSizeTest.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/src/main/java/test/ReadableFileSizeTest.kt b/app/src/main/java/test/ReadableFileSizeTest.kt index d736bd3..87462c3 100644 --- a/app/src/main/java/test/ReadableFileSizeTest.kt +++ b/app/src/main/java/test/ReadableFileSizeTest.kt @@ -20,4 +20,12 @@ internal class ReadableFileSizeTest { val output = input.readableFileSize() Assert.assertEquals(expected, output) } + + @Test + fun testBytesToKilobytesConversion() { + val input = 1024 + val expected = "1 kB" + val output = input.readableFileSize() + Assert.assertEquals(expected, output) + } } \ No newline at end of file From c6987fca8c56c3c7bfb330a8d9a3a1345d8a81bb Mon Sep 17 00:00:00 2001 From: Alicja Lukaszewicz Date: Thu, 14 Mar 2024 09:37:21 +0100 Subject: [PATCH 6/9] Add test for readableFileSize conversion between bytes and megabytes. --- app/src/main/java/test/ReadableFileSizeTest.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/src/main/java/test/ReadableFileSizeTest.kt b/app/src/main/java/test/ReadableFileSizeTest.kt index 87462c3..31b5f59 100644 --- a/app/src/main/java/test/ReadableFileSizeTest.kt +++ b/app/src/main/java/test/ReadableFileSizeTest.kt @@ -28,4 +28,12 @@ internal class ReadableFileSizeTest { val output = input.readableFileSize() Assert.assertEquals(expected, output) } + + @Test + fun testBytesToMegabytesConversion() { + val input = 5242880 + val expected = "5 MB" + val output = input.readableFileSize() + Assert.assertEquals(expected, output) + } } \ No newline at end of file From 15afa4ef3238ea39493aeaf80b0ddb5b1bc5f68f Mon Sep 17 00:00:00 2001 From: Alicja Lukaszewicz Date: Thu, 14 Mar 2024 09:46:21 +0100 Subject: [PATCH 7/9] Add test for readableFileSize conversion between bytes and gigabytes. --- app/src/main/java/test/ReadableFileSizeTest.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/src/main/java/test/ReadableFileSizeTest.kt b/app/src/main/java/test/ReadableFileSizeTest.kt index 31b5f59..a9d1a27 100644 --- a/app/src/main/java/test/ReadableFileSizeTest.kt +++ b/app/src/main/java/test/ReadableFileSizeTest.kt @@ -36,4 +36,15 @@ internal class ReadableFileSizeTest { val output = input.readableFileSize() Assert.assertEquals(expected, output) } + + @Test + fun testBytesToGigabytesConversion() { + // This test will fail because the file size exceeds the maximum value of an Int. + // Consider using a Long value for file sizes larger than Int.MAX_VALUE. + // Example: + // val fileSize: Long = 2147483648L + // val expected = "2 GB" + // val output = fileSize.readableFileSize() + // assertEquals(expected, output) + } } \ No newline at end of file From ec3e2b2295d05d454aa26be4e2bd8e2383ecd2bb Mon Sep 17 00:00:00 2001 From: Alicja Lukaszewicz Date: Thu, 14 Mar 2024 09:47:23 +0100 Subject: [PATCH 8/9] Add test for readableFileSize conversion between bytes and terabytes. --- app/src/main/java/test/ReadableFileSizeTest.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/src/main/java/test/ReadableFileSizeTest.kt b/app/src/main/java/test/ReadableFileSizeTest.kt index a9d1a27..3256bda 100644 --- a/app/src/main/java/test/ReadableFileSizeTest.kt +++ b/app/src/main/java/test/ReadableFileSizeTest.kt @@ -47,4 +47,15 @@ internal class ReadableFileSizeTest { // val output = fileSize.readableFileSize() // assertEquals(expected, output) } + + @Test + fun testBytesToTerabytesConversion() { + // This test will fail because the file size exceeds the maximum value of an Int. + // Consider using a Long value for file sizes larger than Int.MAX_VALUE. + // Example: + // val fileSize: Long = 2199023255552L + // val expected = "2 TB" + // val output = fileSize.readableFileSize() + // assertEquals(expected, output) + } } \ No newline at end of file From deb9d9ae67520fc031c6af5161085445ef367386 Mon Sep 17 00:00:00 2001 From: Alicja Lukaszewicz Date: Thu, 14 Mar 2024 09:54:52 +0100 Subject: [PATCH 9/9] Add fail messages for readableFileSize conversions between bytes-gigabytes and bytes-terabytes. --- app/src/main/java/test/ReadableFileSizeTest.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/test/ReadableFileSizeTest.kt b/app/src/main/java/test/ReadableFileSizeTest.kt index 3256bda..3d4d75c 100644 --- a/app/src/main/java/test/ReadableFileSizeTest.kt +++ b/app/src/main/java/test/ReadableFileSizeTest.kt @@ -2,6 +2,7 @@ package test import com.bernaferrari.changedetection.extensions.readableFileSize import org.junit.Assert +import org.junit.Assert.fail import org.junit.Test internal class ReadableFileSizeTest { @@ -46,6 +47,8 @@ internal class ReadableFileSizeTest { // val expected = "2 GB" // val output = fileSize.readableFileSize() // assertEquals(expected, output) + + fail("This test should fail because the file size for gigabytes conversion is larger than Int.MAX_VALUE.") } @Test @@ -57,5 +60,7 @@ internal class ReadableFileSizeTest { // val expected = "2 TB" // val output = fileSize.readableFileSize() // assertEquals(expected, output) + + fail("This test should fail because the file size for terabytes conversion is larger than Int.MAX_VALUE.") } } \ No newline at end of file