/** * 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()); }
/** * 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()); }
/* * 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()); } }