From fed760568ff9beea62d6eb22df3e8dd134ee53fd Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Thu, 14 Apr 2016 18:33:04 +0200 Subject: [PATCH] [tests] update strategy test simplified --- .../ide/updates/UpdateStrategyTest.kt | 95 ++++--------------- 1 file changed, 21 insertions(+), 74 deletions(-) diff --git a/platform/platform-tests/testSrc/com/intellij/ide/updates/UpdateStrategyTest.kt b/platform/platform-tests/testSrc/com/intellij/ide/updates/UpdateStrategyTest.kt index 9d3487d5dd44..ccd7a83e2e3d 100644 --- a/platform/platform-tests/testSrc/com/intellij/ide/updates/UpdateStrategyTest.kt +++ b/platform/platform-tests/testSrc/com/intellij/ide/updates/UpdateStrategyTest.kt @@ -58,14 +58,14 @@ class UpdateStrategyTest { """) - assertEquals("145.597", resultDesc.newBuild?.number.toString()) + assertBuild("145.597", resultDesc.newBuild) val resultAsc = check("IU-143.2332", ChannelStatus.RELEASE, """ """) - assertEquals("145.597", resultAsc.newBuild?.number.toString()) + assertBuild("145.597", resultAsc.newBuild) } @Test fun `newer updates are preferred`() { @@ -76,7 +76,7 @@ class UpdateStrategyTest { """) - assertEquals("145.597", result.newBuild?.number.toString()) + assertBuild("145.597", result.newBuild) } @Test fun `newer updates are preferred over more stable ones`() { @@ -90,7 +90,7 @@ class UpdateStrategyTest { """) - assertEquals("145.596", result.newBuild?.number.toString()) + assertBuild("145.596", result.newBuild) } @Test fun `newer updates from non-allowed channels are ignored`() { @@ -104,7 +104,7 @@ class UpdateStrategyTest { """ - assertEquals("145.258", check("IU-145.256", ChannelStatus.RELEASE, channels).newBuild?.number.toString()) + assertBuild("145.258", check("IU-145.256", ChannelStatus.RELEASE, channels).newBuild) assertNull(check("IU-145.258", ChannelStatus.RELEASE, channels).newBuild) } @@ -114,7 +114,7 @@ class UpdateStrategyTest { """, listOf("145.596")) - assertEquals("145.595", result.newBuild?.number.toString()) + assertBuild("145.595", result.newBuild) } @Test fun `updates can be targeted for specific builds`() { @@ -123,8 +123,8 @@ class UpdateStrategyTest { """ - assertEquals("145.595", check("IU-145.258", ChannelStatus.EAP, channels).newBuild?.number.toString()) - assertEquals("145.596", check("IU-145.595", ChannelStatus.EAP, channels).newBuild?.number.toString()) + assertBuild("145.595", check("IU-145.258", ChannelStatus.EAP, channels).newBuild) + assertBuild("145.596", check("IU-145.595", ChannelStatus.EAP, channels).newBuild) } @Test fun `updates from the same baseline are preferred`() { @@ -133,7 +133,7 @@ class UpdateStrategyTest { """) - assertEquals("143.2332", result.newBuild?.number.toString()) + assertBuild("143.2332", result.newBuild) } @Test fun `cross-baseline updates are perfectly legal`() { @@ -142,78 +142,23 @@ class UpdateStrategyTest { """) - assertEquals("145.597", result.newBuild?.number.toString()) + assertBuild("145.597", result.newBuild) } @Test fun `variable-length build numbers are supported`() { - var result = check("IU-143.2332", ChannelStatus.RELEASE, """ + val channels = """ - - """) - assertEquals("143.2332.10", result.newBuild?.number.toString()) + + """ + assertBuild("162.11.10", check("IU-145.597", ChannelStatus.RELEASE, channels).newBuild) + assertBuild("162.11.10", check("IU-162.7.23", ChannelStatus.RELEASE, channels).newBuild) + assertNull(check("IU-162.11.11", ChannelStatus.RELEASE, channels).newBuild) - result = check("IU-143.2332.10", ChannelStatus.RELEASE, """ + val result = check("IU-162.11.10", ChannelStatus.RELEASE, """ - + """) - assertEquals("143.2333", result.newBuild?.number.toString()) - - result = check("IU-143.2332.9", ChannelStatus.RELEASE, """ - - - """) - assertEquals("143.2332.10", result.newBuild?.number.toString()) - - result = check("IU-143.2332.11", ChannelStatus.RELEASE, """ - - - """) - assertNull(result.newBuild) - } - - @Test fun `year-based build numbers are supported`() { - var result = check("IU-145.100", ChannelStatus.RELEASE, """ - - - """) - assertEquals("2016.1.10.10", result.newBuild?.number.toString()) - - result = check("IU-2016.1.10.10", ChannelStatus.RELEASE, """ - - - """) - assertEquals("2017.1.1.1", result.newBuild?.number.toString()) - - result = check("IU-2016.1.10.10", ChannelStatus.RELEASE, """ - - - """) - assertEquals("2016.2.10.10", result.newBuild?.number.toString()) - - result = check("IU-2016.1.10.10", ChannelStatus.RELEASE, """ - - - """) - assertEquals("2016.1.11.10", result.newBuild?.number.toString()) - - result = check("IU-2016.1.10.10", ChannelStatus.RELEASE, """ - - - """) - assertEquals("2016.1.10.11", result.newBuild?.number.toString()) - - result = check("IU-2016.1.10.10", ChannelStatus.RELEASE, """ - - - """) - assertNull(result.newBuild) - - // e.g. android-studio format - result = check("IU-2016.1.10.10.20161111", ChannelStatus.RELEASE, """ - - - """) - assertEquals("IU-2016.1.10.10.20161112", result.newBuild?.number.toString()) + assertBuild("162.48", result.newBuild) } private fun check(currentBuild: String, @@ -235,4 +180,6 @@ class UpdateStrategyTest { assertEquals(UpdateStrategy.State.LOADED, result.state) return result } + + private fun assertBuild(expected: String, build: BuildInfo?) = assertEquals(expected, build?.number.toString()) } \ No newline at end of file