@Test
void checkMutabilityOfPrmWithAutomaticallyDeterminableComplexRelationMapping() {

    OTPatternRefinementModel refinementModel = generatePrmWithComplexRelationMaps();
    PermutationGenerator permutationGenerator = new PermutationGenerator();
    assertTrue(permutationGenerator.checkMutability(refinementModel));
    assertEquals(2, refinementModel.getPermutationOptions().size());
    List<OTPermutationMapping> mappings = refinementModel.getPermutationMappings();
    assertEquals(5, mappings.size());
    assertTrue(refinementModel.getPermutationMappings().removeIf(permutationMap ->
        permutationMap.getDetectorElement().getId().equals("1") && permutationMap.getRefinementElement().getId().equals("11")
    ));
    assertTrue(refinementModel.getPermutationMappings().removeIf(permutationMap ->
        permutationMap.getDetectorElement().getId().equals("1") && permutationMap.getRefinementElement().getId().equals("12")
    ));
    assertTrue(refinementModel.getPermutationMappings().removeIf(permutationMap ->
        permutationMap.getDetectorElement().getId().equals("2") && permutationMap.getRefinementElement().getId().equals("13")
    ));
    assertTrue(refinementModel.getPermutationMappings().removeIf(permutationMap ->
        permutationMap.getDetectorElement().getId().equals("2") && permutationMap.getRefinementElement().getId().equals("14")
    ));
    assertTrue(refinementModel.getPermutationMappings().removeIf(permutationMap ->
        permutationMap.getDetectorElement().getId().equals("1--2") && permutationMap.getRefinementElement().getId().equals("13")
    ));
}