@Test
public void shouldEncodeRangeAsEncodedValuesSeparatedByFirstSeparatorThatDoesNotExistInAnyEncodedValue() {

    // given
    BetweenMatcher matcher = new BetweenMatcher(true, true, "~#");
    // when
    String encoded = type.encode(new Range<String>("A~", "B"), null, matcher);
    // then
    assertThat(encoded).isEqualTo("A~#B");
}