﻿
// ####################################### TESTS ####################################### 
function test1()
{
    var tempZoom = zoom;
    zoom = 2;
    var t1 = new Tile ('qq', zoom);
    alert ('test1: qq + (1,1) = ' + t1.GetRelativeQuadkey (1,1));
    zoom = tempZoom;
}

function test2()
{
    var tempZoom = zoom;zoom = 1;
    var t2 = new Tile ('q',1);
    alert ('test2: q + (0,0) = ' + t2.GetRelativeQuadkey (0,0));
    zoom = tempZoom;
}

function test3()
{
    var tempZoom = zoom;zoom = 1;
    var t3 = new Tile ('q',1);
    alert ('test3: q + (1,0) = ' + t3.GetRelativeQuadkey (1,0));
    zoom = tempZoom;
}

function test4()
{
    var tempZoom = zoom;zoom = 3;
    var t4 = new Tile ('sss',3);
    alert ('test4: sss + (-1,-1) = ' + t4.GetRelativeQuadkey (-1,-1));
    alert ('test4: sss + (1,1) = ' + t4.GetRelativeQuadkey (1,1)); // wrap around
    zoom = tempZoom;
}

function test5()
{
    var tempZoom = zoom;zoom = 3;
    var t5 = new Tile ('rts',3);
    alert ('test5: rts + (0,0) = ' + t5.GetRelativeQuadkey (0,0) + ' expect: rts');
    alert ('test5: rts + (0,1) = ' + t5.GetRelativeQuadkey (0,1) + ' expect: sqr');
    alert ('test5: rts + (1,0) = ' + t5.GetRelativeQuadkey (1,0) + ' expect: rst');
    alert ('test5: rts + (1,1) = ' + t5.GetRelativeQuadkey (1,1) + ' expect: srq');
    alert ('test5: rts + (0,-1) = ' + t5.GetRelativeQuadkey (0,-1) + ' expect: rtr');
    alert ('test5: rts + (-1,0) = ' + t5.GetRelativeQuadkey (-1,0) + ' expect: rtt');
    zoom = tempZoom;
}

function test6()
{
    var tempZoom = zoom;zoom = 2;
    var t5 = new Tile ('qq',2);
    alert ('test6: qq + (50,50) = '   + t5.GetRelativeQuadkeyFromPixels (50,50)   + ' expect: qq');
    alert ('test6: qq + (50,150) = '  + t5.GetRelativeQuadkeyFromPixels (50,150)  + ' expect: qt');
    alert ('test6: qq + (150,50) = '  + t5.GetRelativeQuadkeyFromPixels (150,50)  + ' expect: qr');
    alert ('test6: qq + (270,270) = ' + t5.GetRelativeQuadkeyFromPixels (270,270) + ' expect: sq');
    alert ('test6: qq + (270,50) = '  + t5.GetRelativeQuadkeyFromPixels (270,50)  + ' expect: rq');
    alert ('test6: qq + (50,270) = '  + t5.GetRelativeQuadkeyFromPixels (50,270)  + ' expect: tq');
    alert ('test6: qq + (150,270) = ' + t5.GetRelativeQuadkeyFromPixels (150,270) + ' expect: tr');
    alert ('test6: qq + (270,150) = ' + t5.GetRelativeQuadkeyFromPixels (270,150) + ' expect: rt');
    
    zoom = tempZoom;
}
// ###################################### END ## TESTS ######################################
