@Test
public void smoothesWeight() throws Exception {

    APIUsagePattern smallerPattern = somePattern(buildAUG().withActionNodes("N").build());
    APIUsagePattern largerPattern = somePattern(buildAUG().withActionNodes("N", "M").build());
    APIUsagePattern largestPattern = somePattern(buildAUG().withActionNodes("N", "M", "O").build());
    Model model = () -> asSet(smallerPattern, largerPattern, largestPattern);
    double smallerWeight = new PatternSizeWeightFunction().getWeight(instance(smallerPattern), null, model);
    double largerWeight = new PatternSizeWeightFunction().getWeight(instance(largerPattern), null, model);
    double largestWeight = new PatternSizeWeightFunction().getWeight(instance(largestPattern), null, model);
    assertThat(largerWeight - smallerWeight, is(greaterThan(largestWeight - largerWeight)));
}