void () { test(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION, tree -> { select(tree, 10, 3); testIncrease(tree, """ -Root -Color Red [Green] Blue +Digit -Letter -Greek Alpha Beta [Gamma] Delta Epsilon """, // 1 // 1 // 1 // select siblings of second node """ -Root -Color [Red] [Green] [Blue] +Digit -Letter -Greek Alpha Beta [Gamma] Delta Epsilon """, // 2 // 2 // 2 // select parent of second node """ -Root -[Color] [Red] [Green] [Blue] +Digit -Letter -Greek Alpha Beta [Gamma] Delta Epsilon """, // 3 // 3 // 3 // select siblings of parent """ -Root -[Color] [Red] [Green] [Blue] +[Digit] -[Letter] -[Greek] [Alpha] [Beta] [Gamma] [Delta] [Epsilon] """); testDecrease(tree, """ -Root -[Color] [Red] [Green] [Blue] +[Digit] -[Letter] -[Greek] [Alpha] [Beta] [Gamma] [Delta] [Epsilon] """, // 1 // 1 // 1 // unselect siblings of parent "-Root\n" + " -[Color]\n" + " [Red]\n" + " [Green]\n" + " [Blue]\n" + " +Digit\n" + " -Letter\n" + " -Greek\n" + " Alpha\n" + " Beta\n" + " Gamma\n" + // captured " Delta\n" + " Epsilon\n", // 2 // 2 // 2 // unselect parent of second node "-Root\n" + " -Color\n" + " [Red]\n" + " [Green]\n" + " [Blue]\n" + " +Digit\n" + " -Letter\n" + " -Greek\n" + " Alpha\n" + " Beta\n" + " Gamma\n" + // captured " Delta\n" + " Epsilon\n", // 3 // 3 // 3 // select siblings of second node "-Root\n" + " -Color\n" + " Red\n" + " [Green]\n" + " Blue\n" + " +Digit\n" + " -Letter\n" + " -Greek\n" + " Alpha\n" + " Beta\n" + " Gamma\n" + // captured " Delta\n" + " Epsilon\n"); }); }