По тестам вроде все норм должно быть
package com.javarush.task.task20.task2028;
import java.util.List;
public class Solution {
public static void main(String[] args) {
List<String> list = new CustomTree();
for (int i = 1; i < 16; i++) {
list.add(String.valueOf(i));
}
System.out.println(list);
System.out.println("List size is " + list.size());
System.out.println("Expected parent is 3, actual parent is " + ((CustomTree) list).getParent("8"));
System.out.println("Expected parent is null, actual parent is " + ((CustomTree) list).getParent("20"));
//7 8 9 10 11 12 13 14
list.remove("3");
System.out.println(list);
System.out.println("List size is " + list.size());
System.out.println("Expected parent is null, actual parent is " + ((CustomTree) list).getParent("8"));
list.add("16");
System.out.println(list);
System.out.println("List size is " + list.size());
System.out.println("Expected parent is 9, actual parent is " + ((CustomTree) list).getParent("16"));
//list.remove("8");
list.remove("9");
list.remove("10");
list.remove("11");
list.remove("12");
list.remove("13");
list.remove("14");
//list.remove("4");
//list.remove("5");
//list.remove("6");
System.out.println(list);
System.out.println("List size is " + list.size());
System.out.println("Expected true, actual " + list.add("20"));
System.out.println(list);
System.out.println("List size is " + list.size());
System.out.println("Expected parent is 1, actual parent is " + ((CustomTree) list).getParent("20"));
list.add("21");
list.add("22");
list.add("23");
System.out.println(list);
System.out.println("List size is " + list.size());
}
/* public static void main(String[] args) {
List list = new CustomTree();
list.add("qwe");
System.out.println(list);
System.out.println("List size is " + list.size());
list.remove("qwe");
System.out.println(list);
System.out.println("List size is " + list.size());
}*/
}