@Test
public void nearestRootTermReturnsNearestMatchingRootTerm() {

    // given
    var firstCalcRootTerm = "tomato";
    var firstCalcDerivedTerms = Set.of("tmato");
    var secondCalcRootTerm = "apple";
    var secondCalcDerivedTerms = Set.of("appel");
    var term = "apppel";
    var firstCalc = new RootTermDistanceCalculator(firstCalcRootTerm, firstCalcDerivedTerms);
    var secondCalc = new RootTermDistanceCalculator(secondCalcRootTerm, secondCalcDerivedTerms);
    var calculators = Set.of(firstCalc, secondCalc);
    // when
    var actualNearestRootTerm = RootTermDistanceCalculator.nearestRootTerm(calculators, term, 100);
    // then
    assertThat(actualNearestRootTerm).isEqualTo(secondCalcRootTerm);
}