package com.mattrixwv.project_euler.problems; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import com.mattrixwv.project_euler.exceptions.Unsolved; public class TestProblem14 extends ProblemBaseTest{ @InjectMocks private Problem14 problem; static{ description = "Which starting number, under 1000000, produces the longest chain using the iterative sequence?"; result = "The number 837799 produced a chain of 525 steps"; } @Test @Order(1) @Override public void testDescription(){ super.testDescription(problem); } @Test @Order(2) @Override public void testSolve(){ assertThrows(Unsolved.class, () -> { problem.getLength(); }); assertThrows(Unsolved.class, () -> { problem.getStartingNumber(); }); super.testSolve(problem); //Verify result assertEquals(525, problem.getLength()); assertEquals(837799, problem.getStartingNumber()); } @Test @Order(3) @Override public void testReset(){ super.testReset(problem); } }