@Test
public void testSplitPoint() throws Exception {

    assertEquals(1, DecimalStringSplit.splitPoint(10, 10, 0));
    assertEquals(9, DecimalStringSplit.splitPoint(10, 10, 8));
    try {
        assertEquals(1, DecimalStringSplit.splitPoint(10, 10, 9));
        fail();
    } catch (IndexOutOfBoundsException ignore) {
    }
    assertEquals(10, DecimalStringSplit.splitPoint(10, 100, 0));
    assertEquals(90, DecimalStringSplit.splitPoint(10, 100, 8));
    try {
        assertEquals(10, DecimalStringSplit.splitPoint(10, 100, 9));
        fail();
    } catch (IndexOutOfBoundsException ignore) {
    }
    assertEquals(3, DecimalStringSplit.splitPoint(30, 100, 0));
    assertEquals(6, DecimalStringSplit.splitPoint(30, 100, 1));
    assertEquals(10, DecimalStringSplit.splitPoint(30, 100, 2));
    assertEquals(13, DecimalStringSplit.splitPoint(30, 100, 3));
    assertEquals(3, DecimalStringSplit.splitPoint(333, 1000, 0));
    assertEquals(6, DecimalStringSplit.splitPoint(333, 1000, 1));
    assertEquals(9, DecimalStringSplit.splitPoint(333, 1000, 2));
    assertEquals(12, DecimalStringSplit.splitPoint(333, 1000, 3));
    assertEquals(996, DecimalStringSplit.splitPoint(333, 1000, 331));
    assertEquals(33, DecimalStringSplit.splitPoint(3, 100, 0));
    assertEquals(66, DecimalStringSplit.splitPoint(3, 100, 1));
    assertEquals(33, DecimalStringSplit.splitPoint(30, 1000, 0));
    assertEquals(66, DecimalStringSplit.splitPoint(30, 1000, 1));
    assertEquals(100, DecimalStringSplit.splitPoint(30, 1000, 2));
    assertEquals(133, DecimalStringSplit.splitPoint(30, 1000, 3));
    assertEquals(166, DecimalStringSplit.splitPoint(30, 1000, 4));
    assertEquals(200, DecimalStringSplit.splitPoint(30, 1000, 5));
    assertEquals(2, DecimalStringSplit.splitPoint(50, 100, 0));
    assertEquals(4, DecimalStringSplit.splitPoint(50, 100, 1));
}