import numbersGrouping


def test_case1():
    assert numbersGrouping.numbersGrouping([20000, 239, 10001, 999999, 10000, 20566, 29999]) == 11


def test_case2():
    assert numbersGrouping.numbersGrouping([10000, 20000, 30000, 40000, 50000, 60000, 10000, 120000, 150000, 200000,
                                            300000, 1000000, 10000000, 100000000, 10000000]) == 28


def test_case3():
    assert numbersGrouping.numbersGrouping([10000]) == 2


def test_case4():
    assert numbersGrouping.numbersGrouping([10000, 1]) == 3


def test_case5():
    assert numbersGrouping.numbersGrouping([685400881, 696804468, 696804942, 803902442, 976412678, 976414920, 47763597,
                                            803900633, 233144924, 47764349, 233149077, 214990733, 214994039, 280528089,
                                            280524347, 685401797]) == 24


def test_case6():
    assert numbersGrouping.numbersGrouping([598589004, 92986320, 520103781, 808743817, 635098665, 95244159, 808747008,
                                            867017063, 635092226, 867013865, 92989995, 520100093, 95245838, 84897101,
                                            598583113, 84893918]) == 24


def test_case7():
    assert numbersGrouping.numbersGrouping([1000000000, 999990000, 999980000, 999970000, 999960000, 999950000,
                                            999940000, 999930000, 999920000, 999910000]) == 20


def test_case8():
    assert numbersGrouping.numbersGrouping([102382103, 21039898, 39823, 433, 30928398, 40283209, 23234, 342534,
                                            98473483, 498398424, 9384984, 9839239]) == 24
