Sha256: 5dc251ba5b0e7dd477e2fe2856a65263442c2607bb781081fae9c11e842248c1

Contents?: true

Size: 1.72 KB

Versions: 76

Compression:

Stored size: 1.72 KB

Contents

import org.junit.Before;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;

import static org.junit.Assert.assertEquals;

/*
 * version: 1.1.0
 */
public class CollatzCalculatorTest {

    @Rule
    public ExpectedException expectedException = ExpectedException.none();

    private CollatzCalculator collatzCalculator;

    @Before
    public void setUp() {
        collatzCalculator = new CollatzCalculator();
    }

    @Test
    public void testZeroStepsRequiredWhenStartingFrom1() {
        assertEquals(0, collatzCalculator.computeStepCount(1));
    }

    @Ignore("Remove to run test")
    @Test
    public void testCorrectNumberOfStepsWhenAllStepsAreDivisions() {
        assertEquals(4, collatzCalculator.computeStepCount(16));
    }

    @Ignore("Remove to run test")
    @Test
    public void testCorrectNumberOfStepsWhenBothStepTypesAreNeeded() {
        assertEquals(9, collatzCalculator.computeStepCount(12));
    }

    @Ignore("Remove to run test")
    @Test
    public void testAVeryLargeInput() {
        assertEquals(152, collatzCalculator.computeStepCount(1000000));
    }

    @Ignore("Remove to run test")
    @Test
    public void testZeroIsConsideredInvalidInput() {
        expectedException.expect(IllegalArgumentException.class);
        expectedException.expectMessage("Only natural numbers are allowed");

        collatzCalculator.computeStepCount(0);
    }

    @Ignore("Remove to run test")
    @Test
    public void testNegativeIntegerIsConsideredInvalidInput() {
        expectedException.expect(IllegalArgumentException.class);
        expectedException.expectMessage("Only natural numbers are allowed");

        collatzCalculator.computeStepCount(-15);
    }

}

Version data entries

76 entries across 76 versions & 1 rubygems

Version Path
trackler-2.2.1.45 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.44 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.43 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.42 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.41 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.40 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.39 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.38 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.37 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.36 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.35 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.34 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.33 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.32 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.31 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.30 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.29 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.28 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.27 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java
trackler-2.2.1.26 tracks/java/exercises/collatz-conjecture/src/test/java/CollatzCalculatorTest.java