blob: fcc4e8d0531b17b500e6f333b2ca6b2b3aabbedf [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package io.v.syncbase.v23.services.syncbase.util;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import java.util.Arrays;
import java.util.Collection;
import static com.google.common.truth.Truth.assertThat;
/**
* Unit tests for {@link Util#prefixRangeStart} and {@link Util#prefixRangeLimit}.
*/
@RunWith(Parameterized.class)
public class UtilPrefixRangeLimitTest {
private final String prefix;
private final String expectedStart;
private final String expectedLimit;
@Parameterized.Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][]{
{"", "", ""},
{"a", "a", "b"},
{"aa", "aa", "ab"},
{"\u00fe", "\u00fe", "\u00ff"},
{"a\u00fe", "a\u00fe", "a\u00ff"},
{"aa\u00fe", "aa\u00fe", "aa\u00ff"},
{"a\u00ff", "a\u00ff", "b"},
{"aa\u00ff", "aa\u00ff", "ab"},
{"a\u00ff\u00ff", "a\u00ff\u00ff", "b"},
{"aa\u00ff\u00ff", "aa\u00ff\u00ff", "ab"},
{"\u00ff", "\u00ff", ""},
{"\u00ff\u00ff", "\u00ff\u00ff", ""}
});
}
public UtilPrefixRangeLimitTest(String prefix, String start, String limit) {
this.prefix = prefix;
this.expectedStart = start;
this.expectedLimit = limit;
}
@Test
public void testPrefixRangeStart() {
assertThat(Util.prefixRangeStart(this.prefix)).isEqualTo(this.expectedStart);
}
@Test
public void testPrefixRangeLimit() {
assertThat(Util.prefixRangeLimit(this.prefix)).isEqualTo(this.expectedLimit);
}
}