/** Testaa merge() t1 == null odotettu tulos: palauttaa null */ @Test public void testaaT1NullMergeTest() { for (int i = 12; i >= 3; i--) { solmu = new Solmu(i); instanssi5.insert(solmu); } instanssi2 = null; assertNull(Dkeko.merge(instanssi2, instanssi5)); assertNull(Dkeko.merge(instanssi5, instanssi2)); }
/** * Testaa merge() t1 >== t2 odotettu tulos: palauttaa uuden keko olion, jonka keon aste on sama * kuin t2 parametrina annetun keon aste */ @Test public void testaaT1T2YhtasuuriaMergeTest() { 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.merge(instanssi2, instanssi5); assertEquals(0, instanssi.findMin().getValue()); assertEquals(instanssi5.getAste(), instanssi.getAste()); assertEquals(summa, instanssi.getHeapSize()); }
/** * Testaa merge() t1 > t2 odotettu tulos: palauttaa uuden keko olion, jonka keon aste on sama kuin * suuremman parametrina annetun keon aste */ @Test public void testaaT1SuurempiMergeTest() { for (int i = 1200; i >= 300; i--) { solmu = new Solmu(i); instanssi5.insert(solmu); } for (int i = 200; i >= 1; i--) { solmu = new Solmu(i); instanssi2.insert(solmu); } int summa = instanssi5.getHeapSize() + instanssi2.getHeapSize(); instanssi = Dkeko.merge(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()); } }