### Question:
ReverseAddPalindromeAlgorithm extends AlgorithmLevelImpl { @Override public String get(int n) { BigInteger result = BigInteger.valueOf(n); do { String reverseString = ReverseString(String.valueOf(result)); BigInteger rev = new BigInteger(reverseString); result = result.add(rev); } while (!isPolyndrom(result)); return result.toString(); }  @Override String get(int n); @Override String description(); @Override List<String> getQuestions(); @Override int complexity(); @Override String author();  }### Answer:
@Test public void shouldWork() { Algorithm algorithm = new ReverseAddPalindromeAlgorithm(); assertEquals("2", algorithm.get("1")); assertEquals("4", algorithm.get("2")); assertEquals("6", algorithm.get("3")); assertEquals("8", algorithm.get("4")); assertEquals("11", algorithm.get("5")); assertEquals("33", algorithm.get("6")); assertEquals("55", algorithm.get("7")); assertEquals("77", algorithm.get("8")); assertEquals("99", algorithm.get("9")); assertEquals("11", algorithm.get("10")); assertEquals("22", algorithm.get("11")); assertEquals("33", algorithm.get("12")); assertEquals("44", algorithm.get("13")); assertEquals("55", algorithm.get("14")); assertEquals("66", algorithm.get("15")); assertEquals("77", algorithm.get("16")); assertEquals("88", algorithm.get("17")); assertEquals("99", algorithm.get("18")); assertEquals("22", algorithm.get("20")); assertEquals("33", algorithm.get("21")); assertEquals("44", algorithm.get("22")); assertEquals("55", algorithm.get("23")); assertEquals("66", algorithm.get("24")); assertEquals("77", algorithm.get("25")); assertEquals("4444", algorithm.get("254")); assertEquals("8813200023188", algorithm.get("89")); assertEquals("444", algorithm.get("123")); assertEquals("848", algorithm.get("127")); assertEquals("4664", algorithm.get("3421")); assertEquals("99999999", algorithm.get("12345678")); }