Loading app/src/test/java/foundation/e/apps/data/ResultSupremeTest.kt 0 → 100644 +67 −0 Original line number Diff line number Diff line package foundation.e.apps.data import foundation.e.apps.data.enums.ResultStatus import java.util.concurrent.TimeoutException import org.junit.Assert.assertEquals import org.junit.Assert.assertSame import org.junit.Assert.assertTrue import org.junit.Test class ResultSupremeTest { @Test fun successHoldsDataAndStatus() { val result = ResultSupreme.Success("value") assertTrue(result.isSuccess()) assertEquals("value", result.data) assertEquals(ResultStatus.OK, result.getResultStatus()) assertEquals("", result.message) } @Test fun timeoutPreservesDataAndException() { val exception = TimeoutException("late") val result = ResultSupreme.Timeout(listOf(1, 2, 3), exception) assertTrue(result.isTimeout()) assertEquals(listOf(1, 2, 3), result.data) assertSame(exception, result.exception) assertEquals(ResultStatus.TIMEOUT, result.getResultStatus()) } @Test fun createBuildsUnknownErrorWithDataAndMessage() { val exception = IllegalStateException("fail") val result = ResultSupreme.create( status = ResultStatus.UNKNOWN, data = "raw", message = "bad", exception = exception ) assertTrue(result.isUnknownError()) assertEquals("raw", result.data) assertEquals("bad", result.message) assertSame(exception, result.exception) } @Test fun replicateCarriesStatusAndOverridesData() { val base = ResultSupreme.Timeout(listOf("stale")) base.message = "original" base.exception = IllegalStateException("timeout") val copy = ResultSupreme.replicate( result = base, newData = "fresh", message = "override", exception = base.exception ) assertTrue(copy.isTimeout()) assertEquals("fresh", copy.data) assertEquals("override", copy.message) assertSame(base.exception, copy.exception) } } app/src/test/java/foundation/e/apps/data/fdroid/models/FdroidModelsTest.kt 0 → 100644 +63 −0 Original line number Diff line number Diff line package foundation.e.apps.data.fdroid.models import org.junit.Assert.assertEquals import org.junit.Assert.assertTrue import org.junit.Test class FdroidModelsTest { @Test fun buildInfoDefaultConstructorSetsEmptyValues() { val buildInfo = BuildInfo() assertEquals("", buildInfo.versionCode) assertEquals("", buildInfo.versionName) } @Test fun buildInfoConstructorUsesFallbacksForNulls() { val buildInfo = BuildInfo(null, null) assertEquals("", buildInfo.versionCode) assertEquals("", buildInfo.versionName) } @Test fun buildInfoConstructorAssignsProvidedValues() { val buildInfo = BuildInfo("123", "1.2.3") assertEquals("123", buildInfo.versionCode) assertEquals("1.2.3", buildInfo.versionName) } @Test fun fdroidApiModelDefaultsToEmptyValues() { val apiModel = FdroidApiModel() assertEquals("", apiModel.authorName) assertTrue(apiModel.builds.isEmpty()) } @Test fun fdroidApiModelConstructorSetsProperties() { val build = BuildInfo("10", "1.0.0") val apiModel = FdroidApiModel("Author", listOf(build)) assertEquals("Author", apiModel.authorName) assertEquals(listOf(build), apiModel.builds) } @Test fun fdroidEntityFallsBackToDefaultAuthor() { val entity = FdroidEntity("pkg", "") assertEquals(FdroidEntity.DEFAULT_FDROID_AUTHOR_NAME, entity.authorName) } @Test fun fdroidEntityKeepsProvidedAuthor() { val entity = FdroidEntity("pkg", "Author") assertEquals("Author", entity.authorName) } } Loading
app/src/test/java/foundation/e/apps/data/ResultSupremeTest.kt 0 → 100644 +67 −0 Original line number Diff line number Diff line package foundation.e.apps.data import foundation.e.apps.data.enums.ResultStatus import java.util.concurrent.TimeoutException import org.junit.Assert.assertEquals import org.junit.Assert.assertSame import org.junit.Assert.assertTrue import org.junit.Test class ResultSupremeTest { @Test fun successHoldsDataAndStatus() { val result = ResultSupreme.Success("value") assertTrue(result.isSuccess()) assertEquals("value", result.data) assertEquals(ResultStatus.OK, result.getResultStatus()) assertEquals("", result.message) } @Test fun timeoutPreservesDataAndException() { val exception = TimeoutException("late") val result = ResultSupreme.Timeout(listOf(1, 2, 3), exception) assertTrue(result.isTimeout()) assertEquals(listOf(1, 2, 3), result.data) assertSame(exception, result.exception) assertEquals(ResultStatus.TIMEOUT, result.getResultStatus()) } @Test fun createBuildsUnknownErrorWithDataAndMessage() { val exception = IllegalStateException("fail") val result = ResultSupreme.create( status = ResultStatus.UNKNOWN, data = "raw", message = "bad", exception = exception ) assertTrue(result.isUnknownError()) assertEquals("raw", result.data) assertEquals("bad", result.message) assertSame(exception, result.exception) } @Test fun replicateCarriesStatusAndOverridesData() { val base = ResultSupreme.Timeout(listOf("stale")) base.message = "original" base.exception = IllegalStateException("timeout") val copy = ResultSupreme.replicate( result = base, newData = "fresh", message = "override", exception = base.exception ) assertTrue(copy.isTimeout()) assertEquals("fresh", copy.data) assertEquals("override", copy.message) assertSame(base.exception, copy.exception) } }
app/src/test/java/foundation/e/apps/data/fdroid/models/FdroidModelsTest.kt 0 → 100644 +63 −0 Original line number Diff line number Diff line package foundation.e.apps.data.fdroid.models import org.junit.Assert.assertEquals import org.junit.Assert.assertTrue import org.junit.Test class FdroidModelsTest { @Test fun buildInfoDefaultConstructorSetsEmptyValues() { val buildInfo = BuildInfo() assertEquals("", buildInfo.versionCode) assertEquals("", buildInfo.versionName) } @Test fun buildInfoConstructorUsesFallbacksForNulls() { val buildInfo = BuildInfo(null, null) assertEquals("", buildInfo.versionCode) assertEquals("", buildInfo.versionName) } @Test fun buildInfoConstructorAssignsProvidedValues() { val buildInfo = BuildInfo("123", "1.2.3") assertEquals("123", buildInfo.versionCode) assertEquals("1.2.3", buildInfo.versionName) } @Test fun fdroidApiModelDefaultsToEmptyValues() { val apiModel = FdroidApiModel() assertEquals("", apiModel.authorName) assertTrue(apiModel.builds.isEmpty()) } @Test fun fdroidApiModelConstructorSetsProperties() { val build = BuildInfo("10", "1.0.0") val apiModel = FdroidApiModel("Author", listOf(build)) assertEquals("Author", apiModel.authorName) assertEquals(listOf(build), apiModel.builds) } @Test fun fdroidEntityFallsBackToDefaultAuthor() { val entity = FdroidEntity("pkg", "") assertEquals(FdroidEntity.DEFAULT_FDROID_AUTHOR_NAME, entity.authorName) } @Test fun fdroidEntityKeepsProvidedAuthor() { val entity = FdroidEntity("pkg", "Author") assertEquals("Author", entity.authorName) } }