Sha256: cb608e44ef1d264ce158270037abbf645a6433e20013024c7066d7ef09d129ad
Contents?: true
Size: 1.39 KB
Versions: 76
Compression:
Stored size: 1.39 KB
Contents
import org.junit.Ignore import org.junit.Rule import org.junit.Test import org.junit.rules.ExpectedException import kotlin.test.assertEquals /* * version: 1.1.0 */ class CollatzCalculatorTest { @Rule @JvmField var expectedException: ExpectedException = ExpectedException.none() @Test fun testZeroStepsRequiredWhenStartingFrom1() { assertEquals(0, CollatzCalculator.computeStepCount(1)) } @Ignore @Test fun testCorrectNumberOfStepsWhenAllStepsAreDivisions() { assertEquals(4, CollatzCalculator.computeStepCount(16)) } @Ignore @Test fun testCorrectNumberOfStepsWhenBothStepTypesAreNeeded() { assertEquals(9, CollatzCalculator.computeStepCount(12)) } @Ignore @Test fun testAVeryLargeInput() { assertEquals(152, CollatzCalculator.computeStepCount(1000000)) } @Ignore @Test fun testZeroIsConsideredInvalidInput() { expectedException.expect(IllegalArgumentException::class.java) expectedException.expectMessage("Only natural numbers are allowed") CollatzCalculator.computeStepCount(0) } @Ignore @Test fun testNegativeIntegerIsConsideredInvalidInput() { expectedException.expect(IllegalArgumentException::class.java) expectedException.expectMessage("Only natural numbers are allowed") CollatzCalculator.computeStepCount(-15) } }
Version data entries
76 entries across 76 versions & 1 rubygems