public void testBigMinCalculation2Dim(){
  final byte[] searchMinZOrder={Byte.valueOf("00001100",2)};
  final byte[] searchMaxZOrder={Byte.valueOf("00101101",2)};
  final ZOrderRangeScanUtil rangeScanUtil=new ZOrderRangeScanUtil(searchMinZOrder,searchMaxZOrder,2);
  final byte[] divRecord1={Byte.valueOf("00010011",2)};
  final byte[] bigMinExp1={Byte.valueOf("00100100",2)};
  final byte[] bigMinAct1=rangeScanUtil.calculateBigMin(divRecord1);
  assertEquals(bigMinExp1,bigMinAct1);
  assertFalse(rangeScanUtil.isInSearchRange(divRecord1));
  assertTrue(rangeScanUtil.isInSearchRange(bigMinAct1));
  final byte[] divRecord2={Byte.valueOf("00100000",2)};
  final byte[] bigMinExp2={Byte.valueOf("00100100",2)};
  final byte[] bigMinAct2=rangeScanUtil.calculateBigMin(divRecord2);
  assertEquals(bigMinExp2,bigMinAct2);
  assertFalse(rangeScanUtil.isInSearchRange(divRecord2));
  assertTrue(rangeScanUtil.isInSearchRange(bigMinAct2));
  final byte[] divRecord3={Byte.valueOf("00011111",2)};
  final byte[] bigMinExp3={Byte.valueOf("00100100",2)};
  final byte[] bigMinAct3=rangeScanUtil.calculateBigMin(divRecord3);
  assertEquals(bigMinExp3,bigMinAct3);
  assertFalse(rangeScanUtil.isInSearchRange(divRecord3));
  assertTrue(rangeScanUtil.isInSearchRange(bigMinAct3));
  final byte[] divRecord4={Byte.valueOf("00100011",2)};
  final byte[] bigMinExp4={Byte.valueOf("00100100",2)};
  final byte[] bigMinAct4=rangeScanUtil.calculateBigMin(divRecord4);
  assertEquals(bigMinExp4,bigMinAct4);
  assertFalse(rangeScanUtil.isInSearchRange(divRecord4));
  assertTrue(rangeScanUtil.isInSearchRange(bigMinAct4));
  final byte[] divRecord5={Byte.valueOf("00101000",2)};
  final byte[] bigMinExp5={Byte.valueOf("00101100",2)};
  final byte[] bigMinAct5=rangeScanUtil.calculateBigMin(divRecord5);
  assertEquals(bigMinExp5,bigMinAct5);
  assertFalse(rangeScanUtil.isInSearchRange(divRecord5));
  assertTrue(rangeScanUtil.isInSearchRange(bigMinAct5));
  final byte[] divRecord6={Byte.valueOf("00101001",2)};
  final byte[] bigMinExp6={Byte.valueOf("00101100",2)};
  final byte[] bigMinAct6=rangeScanUtil.calculateBigMin(divRecord6);
  assertEquals(bigMinExp6,bigMinAct6);
  assertFalse(rangeScanUtil.isInSearchRange(divRecord6));
  assertTrue(rangeScanUtil.isInSearchRange(bigMinAct6));
  final byte[] divRecord7={Byte.valueOf("00101010",2)};
  final byte[] bigMinExp7={Byte.valueOf("00101100",2)};
  final byte[] bigMinAct7=rangeScanUtil.calculateBigMin(divRecord7);
  assertEquals(bigMinExp7,bigMinAct7);
  assertFalse(rangeScanUtil.isInSearchRange(divRecord7));
  assertTrue(rangeScanUtil.isInSearchRange(bigMinAct7));
  final byte[] divRecord8={Byte.valueOf("00101011",2)};
  final byte[] bigMinExp8={Byte.valueOf("00101100",2)};
  final byte[] bigMinAct8=rangeScanUtil.calculateBigMin(divRecord8);
  assertEquals(bigMinExp8,bigMinAct8);
  assertFalse(rangeScanUtil.isInSearchRange(divRecord8));
  assertTrue(rangeScanUtil.isInSearchRange(bigMinAct8));
}

public void testBigMinCalculation2Dim ( ) { final byte [ ] searchMinZOrder = { Byte . valueOf ( "00001100" , 2 ) } ; final byte [ ] searchMaxZOrder = { Byte . valueOf ( "00101101" , 2 ) } ; final ZOrderRangeScanUtil rangeScanUtil = new ZOrderRangeScanUtil ( searchMinZOrder , searchMaxZOrder , 2 ) ; final byte [ ] divRecord1 = { Byte . valueOf ( "00010011" , 2 ) } ; final byte [ ] bigMinExp1 = { Byte . valueOf ( "00100100" , 2 ) } ; final byte [ ] bigMinAct1 = rangeScanUtil . calculateBigMin ( divRecord1 ) ; assertEquals ( bigMinExp1 , bigMinAct1 ) ; assertFalse ( rangeScanUtil . isInSearchRange ( divRecord1 ) ) ; assertTrue ( rangeScanUtil . isInSearchRange ( bigMinAct1 ) ) ; final byte [ ] divRecord2 = { Byte . valueOf ( "00100000" , 2 ) } ; final byte [ ] bigMinExp2 = { Byte . valueOf ( "00100100" , 2 ) } ; final byte [ ] bigMinAct2 = rangeScanUtil . calculateBigMin ( divRecord2 ) ; assertEquals ( bigMinExp2 , bigMinAct2 ) ; assertFalse ( rangeScanUtil . isInSearchRange ( divRecord2 ) ) ; assertTrue ( rangeScanUtil . isInSearchRange ( bigMinAct2 ) ) ; final byte [ ] divRecord3 = { Byte . valueOf ( "00011111" , 2 ) } ; final byte [ ] bigMinExp3 = { Byte . valueOf ( "00100100" , 2 ) } ; final byte [ ] bigMinAct3 = rangeScanUtil . calculateBigMin ( divRecord3 ) ; assertEquals ( bigMinExp3 , bigMinAct3 ) ; assertFalse ( rangeScanUtil . isInSearchRange ( divRecord3 ) ) ; assertTrue ( rangeScanUtil . isInSearchRange ( bigMinAct3 ) ) ; final byte [ ] divRecord4 = { Byte . valueOf ( "00100011" , 2 ) } ; final byte [ ] bigMinExp4 = { Byte . valueOf ( "00100100" , 2 ) } ; final byte [ ] bigMinAct4 = rangeScanUtil . calculateBigMin ( divRecord4 ) ; assertEquals ( bigMinExp4 , bigMinAct4 ) ; assertFalse ( rangeScanUtil . isInSearchRange ( divRecord4 ) ) ; assertTrue ( rangeScanUtil . isInSearchRange ( bigMinAct4 ) ) ; final byte [ ] divRecord5 = { Byte . valueOf ( "00101000" , 2 ) } ; final byte [ ] bigMinExp5 = { Byte . valueOf ( "00101100" , 2 ) } ; final byte [ ] bigMinAct5 = rangeScanUtil . calculateBigMin ( divRecord5 ) ; assertEquals ( bigMinExp5 , bigMinAct5 ) ; assertFalse ( rangeScanUtil . isInSearchRange ( divRecord5 ) ) ; assertTrue ( rangeScanUtil . isInSearchRange ( bigMinAct5 ) ) ; final byte [ ] divRecord6 = { Byte . valueOf ( "00101001" , 2 ) } ; final byte [ ] bigMinExp6 = { Byte . valueOf ( "00101100" , 2 ) } ; final byte [ ] bigMinAct6 = rangeScanUtil . calculateBigMin ( divRecord6 ) ; assertEquals ( bigMinExp6 , bigMinAct6 ) ; assertFalse ( rangeScanUtil . isInSearchRange ( divRecord6 ) ) ; assertTrue ( rangeScanUtil . isInSearchRange ( bigMinAct6 ) ) ; final byte [ ] divRecord7 = { Byte . valueOf ( "00101010" , 2 ) } ; final byte [ ] bigMinExp7 = { Byte . valueOf ( "00101100" , 2 ) } ; final byte [ ] bigMinAct7 = rangeScanUtil . calculateBigMin ( divRecord7 ) ; assertEquals ( bigMinExp7 , bigMinAct7 ) ; assertFalse ( rangeScanUtil . isInSearchRange ( divRecord7 ) ) ; assertTrue ( rangeScanUtil . isInSearchRange ( bigMinAct7 ) ) ; final byte [ ] divRecord8 = { Byte . valueOf ( "00101011" , 2 ) } ; final byte [ ] bigMinExp8 = { Byte . valueOf ( "00101100" , 2 ) } ; final byte [ ] bigMinAct8 = rangeScanUtil . calculateBigMin ( divRecord8 ) ; assertEquals ( bigMinExp8 , bigMinAct8 ) ; assertFalse ( rangeScanUtil . isInSearchRange ( divRecord8 ) ) ; assertTrue ( rangeScanUtil . isInSearchRange ( bigMinAct8 ) ) ; }
we implement the test case from wikipedia : https : / / en . wikipedia . org / wiki / z - order_curve , implementing bigmin calculation in a two - dimensional setting .
