Exemple #1
0
 /**
  * Testaa mergeBottomUp() t1 >== t2 odotettu tulos: palauttaa uuden keko olion, jonka
  * haarautumisaste on sama kuin t2 annetun keon haarautumisaste keot samankokoisia,mutta eri
  * haarautumisaste.suurempi valitaan
  */
 @Test
 public void testaaT1T2YhtasuuriaMergeBottomUpTest() {
   for (int i = 900; i > 400; i--) {
     solmu = new Solmu(i);
     instanssi5.insert(solmu);
   }
   for (int i = 400; i >= 0; i--) {
     solmu = new Solmu(i);
     instanssi2.insert(solmu);
   }
   int summa = instanssi5.getHeapSize() + instanssi2.getHeapSize();
   instanssi = Dkeko.mergeBottomUp(instanssi2, instanssi5);
   assertEquals(0, instanssi.findMin().getValue());
   assertEquals(instanssi5.getAste(), instanssi.getAste());
   assertEquals(summa, instanssi.getHeapSize());
 }
Exemple #2
0
 /**
  * Testaa mergeBottomUp() t1 > t2 odotettu tulos: palauttaa uuden keko olion, jonka keon aste on
  * sama kuin suuremman parametrina annetun keon aste
  */
 @Test
 public void testaaT1SuurempiMergeBottomUpTest() {
   for (int i = 12; i >= 3; i--) {
     solmu = new Solmu(i);
     instanssi5.insert(solmu);
   }
   for (int i = 2; i >= 1; i--) {
     solmu = new Solmu(i);
     instanssi2.insert(solmu);
   }
   int summa = instanssi5.getHeapSize() + instanssi2.getHeapSize();
   instanssi = Dkeko.mergeBottomUp(instanssi5, instanssi2);
   assertEquals(1, instanssi.findMin().getValue());
   assertEquals(instanssi5.getAste(), instanssi.getAste());
   assertEquals(summa, instanssi.getHeapSize());
 }
Exemple #3
0
  /*
   * Testaa merge() ja mergeBottomUp() minimikekojen tulos
   */
  @Test
  public void testaaKekoLopputuloksetBothMergetTest() {
    int summa = instanssiT2.getHeapSize() + instanssiT1.getHeapSize();
    instanssiMergeBottomUp = Dkeko.mergeBottomUp(instanssiT1, instanssiT2);

    instanssiT1 = new Dkeko(2);
    instanssiT2 = new Dkeko(5);
    for (int i = 900; i > 400; i--) {
      solmuMerge = new Solmu(i);
      instanssiT2.insert(solmuMerge);
    }
    for (int i = 400; i >= 0; i--) {
      solmuMerge = new Solmu(i);
      instanssiT1.insert(solmuMerge);
    }
    instanssi = Dkeko.merge(instanssiT1, instanssiT2);

    for (int i = 0; i < instanssi.getHeapSize(); i++) {
      assertEquals(instanssi.deleteMin().getValue(), instanssiMergeBottomUp.deleteMin().getValue());
    }
  }