예제 #1
0
def test_tochildren_null_failure():
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query('SELECT @@RS_PREFIX@@carto.QUADINT_TOCHILDREN(NULL, 1)')
    assert 'NULL argument passed to UDF' in str(excinfo.value)
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query('SELECT @@RS_PREFIX@@carto.QUADINT_TOCHILDREN(322, NULL)')
    assert 'NULL argument passed to UDF' in str(excinfo.value)
def test_longlat_asid_invalid_resolution_failure():
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query('SELECT @@RS_PREFIX@@carto.S2_FROMLONGLAT(100, 100, 32)')
    assert 'InvalidResolution' in str(excinfo.value)
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query('SELECT @@RS_PREFIX@@carto.S2_FROMLONGLAT(100, 100, -1)')
    assert 'InvalidResolution' in str(excinfo.value)
예제 #3
0
def test_toparent_invalid_resolution_failure():
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query('SELECT @@RS_PREFIX@@carto.S2_TOPARENT(0, -1)')
    assert 'InvalidResolution' in str(excinfo.value)
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query(
            'SELECT @@RS_PREFIX@@carto.S2_TOPARENT(-7843177080740118528, 9)')
    assert 'InvalidResolution' in str(excinfo.value)
예제 #4
0
def test_longlat_asquadint_wrong_zoom_failure():
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query(
            'SELECT @@RS_PREFIX@@carto.QUADINT_FROMLONGLAT(100, 100, 30)')
    assert 'Wrong zoom' in str(excinfo.value)
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query(
            'SELECT @@RS_PREFIX@@carto.QUADINT_FROMLONGLAT(100, 100, -1)')
    assert 'Wrong zoom' in str(excinfo.value)
def test_tochildren_invalid_resolution_failure():
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query(
            'SELECT @@RS_PREFIX@@carto.S2_TOCHILDREN(4611686027017322525, 31)')
    assert 'InvalidResolution' in str(excinfo.value)
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query(
            'SELECT @@RS_PREFIX@@carto.S2_TOCHILDREN(-7843177080740118528, 5)')
    assert 'InvalidResolution' in str(excinfo.value)
예제 #6
0
def test_polyfill_failure():
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query('SELECT @@RS_PREFIX@@carto.QUADINT_POLYFILL(NULL, 10)')
    assert 'NULL argument passed to UDF' in str(excinfo.value)

    feature_wkt = 'POINT(10 2)'
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query(f"""SELECT @@RS_PREFIX@@carto.QUADINT_POLYFILL(
                ST_GeomFromText('{feature_wkt}'), NULL)""")
    assert 'NULL argument passed to UDF' in str(excinfo.value)
def test_voronoi_poly_wrong_geom_type():
    fixture_file = open('./test/integration/voronoi_fixtures/in/wkts.txt', 'r')
    points = fixture_file.readlines()
    fixture_file.close()

    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query(f"""SELECT @@RS_PREFIX@@carto.ST_VORONOIPOLYGONS(
                ST_GeomFromText('{points[3].rstrip()}'))""")

    assert 'Input points parameter must be MultiPoint' in str(excinfo.value)
def test_voronoi_lines_geom_too_long():
    fixture_file = open('./test/integration/voronoi_fixtures/in/wkts.txt', 'r')
    points = fixture_file.readlines()
    fixture_file.close()

    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query(f"""SELECT @@RS_PREFIX@@carto.ST_VORONOILINES(
                ST_GeomFromText('{points[2].rstrip()}'))""")

    assert 'Value too long for character type' in str(excinfo.value)
예제 #9
0
def test_placekey_ash3():

    result = run_query("""
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('@c6z-c2g-dgk')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('@63m-vc4-z75')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('@7qg-xf9-j5f')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('@bhm-9m8-gtv')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('@h5z-gcq-kvf')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('@7v4-m2p-3t9')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('@hvb-5d7-92k')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('@ab2-k43-xqz')
    """)

    assert result[0][0] == '8a62e9d08a1ffff'
    assert result[1][0] == '8a2a9c580577fff'
    assert result[2][0] == '8a3c9ea2bd4ffff'
    assert result[3][0] == '8a5b4c1047b7fff'
    assert result[4][0] == '8a8e8116a6d7fff'
    assert result[5][0] == '8a3e0ba6659ffff'
    assert result[6][0] == '8a961652a407fff'
    assert result[7][0] == '8a01262c914ffff'

    result = run_query("""
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3(NULL)
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('@abc')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('abc-xyz')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('abcxyz234')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('abc-345@abc-234-xyz')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('ebc-345@abc-234-xyz')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('bcd-345@')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_ASH3('22-zzz@abc-234-xyz')
    """)

    assert result[0][0] is None
    assert result[1][0] is None
    assert result[2][0] is None
    assert result[3][0] is None
    assert result[4][0] is None
    assert result[5][0] is None
    assert result[6][0] is None
    assert result[7][0] is None
예제 #10
0
def test_polygonize_invalid_path():
    fixture_file = open('./test/integration/st_polygonize_fixtures/in/wkts.txt', 'r')
    lines = fixture_file.readlines()
    fixture_file.close()

    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query(
            f"""SELECT ST_AsText(@@RS_PREFIX@@carto.ST_POLYGONIZE(
                ST_GeomFromText('{lines[14].rstrip()}')))"""
        )

    assert 'Input linestring must be closed' in str(excinfo.value)
def test_voronoi_lines_default_not_succeed():
    fixture_file = open('./test/integration/voronoi_fixtures/in/wkts.txt', 'r')
    points = fixture_file.readlines()
    fixture_file.close()

    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query(f"""SELECT @@RS_PREFIX@@carto.ST_VORONOILINES(
                ST_GeomFromText('{points[1].rstrip()}'), JSON_PARSE('[
                    -80.73611869702799,30.50013148785057,
                    -55.200433643307896, 41.019920879156246]'))""")

    assert 'Points should be within the bounding box supplied' in str(
        excinfo.value)
def test_id_fromhilbertquadkey_success():
    results = run_query(
        """WITH context AS(
            SELECT '4/' AS hilbert_quadkey UNION ALL
            SELECT '4/2' UNION ALL
            SELECT '4/21' UNION ALL
            SELECT '4/212' UNION ALL
            SELECT '4/2121' UNION ALL
            SELECT '4/21210' UNION ALL
            SELECT '4/212103' UNION ALL
            SELECT '4/2121032' UNION ALL
            SELECT '4/21210323'
        )
        SELECT @@RS_PREFIX@@carto.S2_FROMHILBERTQUADKEY(hilbert_quadkey) AS id
        FROM context;"""
    )

    fixture_file = open(
        './test/integration/id_fromhilbertquadkey_fixtures/out/ids.txt', 'r'
    )
    lines = fixture_file.readlines()
    fixture_file.close()

    for idx, result in enumerate(results):
        assert str(result[0]) == lines[idx].rstrip()
예제 #13
0
def test_kring_distances_success():
    result = run_query(
        """SELECT @@RS_PREFIX@@carto.QUADINT_KRING_DISTANCES(162, 1),
            @@RS_PREFIX@@carto.QUADINT_KRING_DISTANCES(12070922, 1),
            @@RS_PREFIX@@carto.QUADINT_KRING_DISTANCES(12070922, 2)""")

    assert result[0][0] == (
        '[{"index":2,"distance":0},{"index":34,"distance":1},'
        '{"index":66,"distance":2},{"index":130,"distance":1},'
        '{"index":162,"distance":1},{"index":194,"distance":2},'
        '{"index":258,"distance":2},{"index":290,"distance":2},'
        '{"index":322,"distance":2}]')
    assert result[0][1] == (
        '[{"index":12038122,"distance":0},{"index":12038154,"distance":1},'
        '{"index":12038186,"distance":2},{"index":12070890,"distance":1},'
        '{"index":12070922,"distance":1},{"index":12070954,"distance":2},'
        '{"index":12103658,"distance":2},{"index":12103690,"distance":2},'
        '{"index":12103722,"distance":2}]')
    assert result[0][2] == (
        '[{"index":12005322,"distance":0},{"index":12005354,"distance":1},'
        '{"index":12005386,"distance":2},{"index":12005418,"distance":3},'
        '{"index":12005450,"distance":4},{"index":12038090,"distance":1},'
        '{"index":12038122,"distance":1},{"index":12038154,"distance":2},'
        '{"index":12038186,"distance":3},{"index":12038218,"distance":4},'
        '{"index":12070858,"distance":2},{"index":12070890,"distance":2},'
        '{"index":12070922,"distance":2},{"index":12070954,"distance":3},'
        '{"index":12070986,"distance":4},{"index":12103626,"distance":3},'
        '{"index":12103658,"distance":3},{"index":12103690,"distance":3},'
        '{"index":12103722,"distance":3},{"index":12103754,"distance":4},'
        '{"index":12136394,"distance":4},{"index":12136426,"distance":4},'
        '{"index":12136458,"distance":4},{"index":12136490,"distance":4},'
        '{"index":12136522,"distance":4}]')
예제 #14
0
def test_center_mean_none():
    results = run_query(
        """SELECT @@RS_PREFIX@@carto.ST_CENTERMEAN(
            ST_GeomFromText(NULL))"""
    )

    assert results[0][0] is None
def test_st_asid_polyfill_bbox_success():
    results = run_query("""WITH resContext AS(
            SELECT
              -3.69 AS min_lng,
              -3.68 AS max_lng,
              40.41 AS min_lat,
              40.42 AS max_lat,
              0 AS min_res,
              30 AS max_res UNION ALL
            SELECT -3.69, -3.68, 40.41, 40.42, 0, 2 UNION ALL
            SELECT -3.69, -3.68, 40.41, 40.42, 3, 17 UNION ALL
            SELECT -3.69, -3.68, 40.41, 40.42, 8, 25 UNION ALL
            SELECT -3.69, -3.68, 40.41, 40.42, 12, 12 UNION ALL
            SELECT -3.69, -3.68, 40.41, 40.42, 6, 6 UNION ALL
            SELECT -3.69, -3.68, 40.41, 40.42, 1, 29 UNION ALL
            SELECT -3.69, -3.68, 40.41, 40.42, 4, 8
        )
        SELECT @@RS_PREFIX@@carto.S2_POLYFILL_BBOX(
            min_lng, max_lng, min_lat, max_lat, min_res, max_res
        ) as ids
        FROM resContext;""")

    fixture_file = open(
        './test/integration/st_asid_polyfill_bbox_fixtures/out/ids.txt', 'r')
    lines = fixture_file.readlines()
    fixture_file.close()

    for idx, result in enumerate(results):
        assert str(result[0]) == lines[idx].rstrip()
def test_h3_asplacekey():

    result = run_query("""
        SELECT @@RS_PREFIX@@carto.PLACEKEY_FROMH3('847b59dffffffff')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_FROMH3('8a2a9c580577fff')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_FROMH3('8a3c9ea2bd4ffff')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_FROMH3('8a5b4c1047b7fff')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_FROMH3('8a8e8116a6d7fff')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_FROMH3('8a3e0ba6659ffff')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_FROMH3('8a961652a407fff')
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_FROMH3(NULL)
        UNION ALL
        SELECT @@RS_PREFIX@@carto.PLACEKEY_FROMH3('ff283473fffffff')
    """)

    assert result[0][0] == '@ff7-swh-m49'
    assert result[1][0] == '@63m-vc4-z75'
    assert result[2][0] == '@7qg-xf9-j5f'
    assert result[3][0] == '@bhm-9m8-gtv'
    assert result[4][0] == '@h5z-gcq-kvf'
    assert result[5][0] == '@7v4-m2p-3t9'
    assert result[6][0] == '@hvb-5d7-92k'
    assert result[7][0] is None
    assert result[8][0] is None
예제 #17
0
def test_polygonize_wrong_parameter():
    fixture_file = open('./test/integration/st_polygonize_fixtures/in/wkts.txt', 'r')
    lines = fixture_file.readlines()
    fixture_file.close()

    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query(
            f"""SELECT ST_AsText(@@RS_PREFIX@@carto.ST_POLYGONIZE(
                ST_GeomFromText('{lines[15].rstrip()}')))"""
        )

    assert 'type found: POINT' in str(excinfo.value)

    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query(
            f"""SELECT ST_AsText(@@RS_PREFIX@@carto.ST_POLYGONIZE(
                ST_GeomFromText('{lines[16].rstrip()}')))"""
        )

    assert 'type found: POLYGON' in str(excinfo.value)
def test_makeenvelope_success():
    result = run_query("""SELECT ST_ASTEXT(
            @@RS_PREFIX@@carto.ST_MAKEENVELOPE(10.0, 10.0, 11.0, 11.0)),
        ST_ASTEXT(
            @@RS_PREFIX@@carto.ST_MAKEENVELOPE(-179.0, 10.0, 179.0, 11.0)),
        ST_ASTEXT(
            @@RS_PREFIX@@carto.ST_MAKEENVELOPE(179.0, 10.0, -179.0, 11.0))""")

    assert result[0][0] == 'POLYGON((10 10,10 11,11 11,11 10,10 10))'
    assert result[0][1] == 'POLYGON((-179 10,-179 11,179 11,179 10,-179 10))'
    assert result[0][2] == 'POLYGON((179 10,179 11,-179 11,-179 10,179 10))'
def test_makeenvelope_none_success():
    result = run_query(
        """SELECT @@RS_PREFIX@@carto.ST_MAKEENVELOPE(NULL, 10.0, 11.0, 11.0),
               @@RS_PREFIX@@carto.ST_MAKEENVELOPE(10.0, NULL, 11.0, 11.0),
               @@RS_PREFIX@@carto.ST_MAKEENVELOPE(10.0, 10.0, NULL, 11.0),
               @@RS_PREFIX@@carto.ST_MAKEENVELOPE(10.0, 10.0, 11.0, NULL)""")

    assert result[0][0] is None
    assert result[0][1] is None
    assert result[0][2] is None
    assert result[0][3] is None
def test_tileenvelope_success():
    results = run_query(
        """SELECT @@RS_PREFIX@@carto.ST_TILEENVELOPE(10, 384, 368),
        @@RS_PREFIX@@carto.ST_TILEENVELOPE(18, 98304, 94299),
        @@RS_PREFIX@@carto.ST_TILEENVELOPE(25, 12582912, 12070369)""")

    fixture_file = open(
        './test/integration/st_tileenvelope_fixtures/out/geojsons.txt', 'r')
    lines = fixture_file.readlines()
    fixture_file.close()

    for idx, result in enumerate(results):
        assert str(result[0]) == lines[idx].rstrip()
예제 #21
0
def test_destination_success():
    results = run_query(
        """SELECT ST_ASTEXT(@@RS_PREFIX@@carto.ST_DESTINATION(
            ST_MakePoint(0, 0), 10, 90, 'kilometers')),
        ST_ASTEXT(@@RS_PREFIX@@carto.ST_DESTINATION(
            ST_MakePoint(-3.70325, 40.4167), 5, 45, 'kilometers')),
        ST_ASTEXT(@@RS_PREFIX@@carto.ST_DESTINATION(
            ST_MakePoint(-43.7625, -20), 150, -20, 'miles'))"""
    )

    assert str(results[0][0]) == 'POINT(0.0899320363725 0)'
    assert str(results[0][1]) == 'POINT(-3.6614678544 40.4484882583)'
    assert str(results[0][2]) == 'POINT(-44.542881219 -17.9582789435)'
예제 #22
0
def test_destination_default():
    results = run_query(
        """SELECT ST_ASTEXT(@@RS_PREFIX@@carto.ST_DESTINATION(
            ST_MakePoint(0, 0), 10, 90)),
        ST_ASTEXT(@@RS_PREFIX@@carto.ST_DESTINATION(
            ST_MakePoint(0, 0), 10, 90, 'kilometers')),
        ST_ASTEXT(@@RS_PREFIX@@carto.ST_DESTINATION(
            ST_MakePoint(0, 0), 10, 90, 'miles'))"""
    )

    assert str(results[0][0]) == 'POINT(0.0899320363725 0)'
    assert str(results[0][1]) == str(results[0][0])
    assert str(results[0][1]) != str(results[0][2])
예제 #23
0
def test_great_circle_none():
    results = run_query(
        """SELECT @@RS_PREFIX@@carto.ST_GREATCIRCLE(
            NULL, ST_MakePoint(-5,-5), 5),
        @@RS_PREFIX@@carto.ST_GREATCIRCLE(
            ST_MakePoint(-5,-5), NULL, 5),
        @@RS_PREFIX@@carto.ST_GREATCIRCLE(
            ST_MakePoint(-5,-5), ST_MakePoint(5,5), NULL) """
    )

    assert results[0][0] is None
    assert results[0][1] is None
    assert results[0][2] is None
예제 #24
0
def test_bbox_success():
    result = run_query("""SELECT @@RS_PREFIX@@carto.QUADINT_BBOX(162) as bbox1,
        @@RS_PREFIX@@carto.QUADINT_BBOX(12070922) as bbox2,
        @@RS_PREFIX@@carto.QUADINT_BBOX(791040491538) as bbox3,
        @@RS_PREFIX@@carto.QUADINT_BBOX(12960460429066265) as bbox4""")

    assert result[0][0] == '[-90.0,0.0,0.0,66.51326044311186]'
    assert result[0][
        1] == '[-45.0,44.84029065139799,-44.6484375,45.089035564831015]'
    assert (result[0][2] ==
            '[-45.0,44.99976701918129,-44.998626708984375,45.000738078290674]')
    assert (result[0][3] ==
            '[-45.0,44.99999461263668,-44.99998927116394,45.00000219906962]')
def test_makeenvelope_default_args_success():
    result = run_query("""SELECT @@RS_PREFIX@@carto.ST_MAKEELLIPSE(
                ST_POINT(-73.9385,40.6643), 5, 3, 0, 'kilometers', 64),
            @@RS_PREFIX@@carto.ST_MAKEELLIPSE(
                ST_POINT(-73.9385,40.6643), 5, 3),
            @@RS_PREFIX@@carto.ST_MAKEELLIPSE(
                ST_POINT(-73.9385,40.6643), 5, 3, 0),
            @@RS_PREFIX@@carto.ST_MAKEELLIPSE(
                ST_POINT(-73.9385,40.6643), 5, 3, 0, 'kilometers')""")

    assert result[0][1] == result[0][0]
    assert result[0][2] == result[0][0]
    assert result[0][3] == result[0][0]
def test_boundary_success():
    results = run_query(
        """SELECT @@RS_PREFIX@@carto.S2_BOUNDARY(955484400630366208) as geog1,
        @@RS_PREFIX@@carto.S2_BOUNDARY(936748722493063168) as geog2,
        @@RS_PREFIX@@carto.S2_BOUNDARY(5731435257080539263) as geog3"""
    )

    fixture_file = open('./test/integration/boundary_fixtures/out/wkts.txt', 'r')
    lines = fixture_file.readlines()
    fixture_file.close()

    for idx, result in enumerate(results):
        assert str(result[0]) == lines[idx].rstrip()
예제 #27
0
def test_boundary_success():
    results = run_query(
        """SELECT @@RS_PREFIX@@carto.QUADINT_BOUNDARY(12070922) as geog1,
        @@RS_PREFIX@@carto.QUADINT_BOUNDARY(791040491538) as geog2,
        @@RS_PREFIX@@carto.QUADINT_BOUNDARY(12960460429066265) as geog3"""
    )

    fixture_file = open('./test/integration/boundary_fixtures/out/geojsons.txt', 'r')
    lines = fixture_file.readlines()
    fixture_file.close()

    for idx, result in enumerate(results):
        assert str(result[0]) == lines[idx].rstrip()
def test_makeellipse_success():
    results = run_query("""SELECT @@RS_PREFIX@@carto.ST_MAKEELLIPSE(
            ST_POINT(-73.9385,40.6643), 5, 3, -30, 'miles', 20),
        @@RS_PREFIX@@carto.ST_MAKEELLIPSE(
            ST_POINT(13.9385,0.6643), 10, 2, 15, 'kilometers', 10),
        @@RS_PREFIX@@carto.ST_MAKEELLIPSE(
            ST_POINT(53.9385,-10.6643), 8, 7, 100, 'miles', 15)""")

    fixture_file = open(
        './test/integration/st_makeellipse_fixtures/out/geojsons.txt', 'r')
    lines = fixture_file.readlines()
    fixture_file.close()

    for idx, result in enumerate(results):
        assert str(result[0]) == lines[idx].rstrip()
def test_longlat_asid_null_failure():
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query('SELECT @@RS_PREFIX@@carto.S2_FROMLONGLAT(NULL, 10, 10)')
    assert 'NULL argument passed to UDF' in str(excinfo.value)
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query('SELECT @@RS_PREFIX@@carto.S2_FROMLONGLAT(10, NULL, 10)')
    assert 'NULL argument passed to UDF' in str(excinfo.value)
    with pytest.raises(redshift_connector.error.ProgrammingError) as excinfo:
        run_query('SELECT @@RS_PREFIX@@carto.S2_FROMLONGLAT(10, 10, NULL)')
    assert 'NULL argument passed to UDF' in str(excinfo.value)
예제 #30
0
def test_tochildren_success():
    results = run_query("""WITH tileContext AS(
            SELECT 0 AS zoom, 0 AS tileX, 0 AS tileY UNION ALL
            SELECT 1, 1, 1 UNION ALL
            SELECT 2, 2, 3 UNION ALL
            SELECT 3, 4, 5 UNION ALL
            SELECT 4, 6, 8 UNION ALL
            SELECT 5, 10, 20 UNION ALL
            SELECT 6, 40, 50 UNION ALL
            SELECT 7, 80, 90 UNION ALL
            SELECT 8, 160, 170 UNION ALL
            SELECT 9, 320, 320 UNION ALL
            SELECT 10, 640, 160 UNION ALL
            SELECT 11, 1280, 640 UNION ALL
            SELECT 12, 2560, 1280 UNION ALL
            SELECT 13, 5120, 160 UNION ALL
            SELECT 14, 10240, 80 UNION ALL
            SELECT 15, 20480, 40 UNION ALL
            SELECT 16, 40960, 80 UNION ALL
            SELECT 17, 81920, 160 UNION ALL
            SELECT 18, 163840, 320 UNION ALL
            SELECT 19, 327680, 640 UNION ALL
            SELECT 20, 163840, 1280 UNION ALL
            SELECT 21, 81920, 2560 UNION ALL
            SELECT 22, 40960, 5120 UNION ALL
            SELECT 23, 20480, 10240 UNION ALL
            SELECT 24, 10240, 20480 UNION ALL
            SELECT 25, 5120, 40960 UNION ALL
            SELECT 26, 2560, 81920 UNION ALL
            SELECT 27, 1280, 163840 UNION ALL
            SELECT 28, 640, 327680
        ),
        quadintContext AS
        (
            SELECT *,
            @@RS_PREFIX@@carto.QUADINT_FROMZXY(zoom, tileX, tileY) AS quadint
            FROM tileContext
        )
        SELECT @@RS_PREFIX@@carto.QUADINT_TOCHILDREN(quadint, zoom + 1) AS children
        FROM quadintContext;""")

    fixture_file = open(
        './test/integration/tochildren_fixtures/out/quadints.txt', 'r')
    lines = fixture_file.readlines()
    fixture_file.close()

    for idx, result in enumerate(results):
        assert result[0] == lines[idx].rstrip()