/** Test of solve method, of class TowerOfHanoi. */ @Test public void testSolve() { System.out.println("solve"); // 3 discs TowerOfHanoi instance = new TowerOfHanoi(this.discs3); instance.solve(); TowerOfHanoi expResult = new TowerOfHanoi(new int[] {}); expResult.setTower2(this.discs3); assertEquals(expResult, instance); // 4 discs instance = new TowerOfHanoi(this.discs4); instance.solve(); expResult = new TowerOfHanoi(new int[] {}); expResult.setTower2(this.discs4); assertEquals(expResult, instance); // 5 discs instance = new TowerOfHanoi(this.discs5); instance.solve(); expResult = new TowerOfHanoi(new int[] {}); expResult.setTower2(this.discs5); assertEquals(expResult, instance); // 10 discs instance = new TowerOfHanoi(this.discs10); instance.solve(); expResult = new TowerOfHanoi(new int[] {}); expResult.setTower2(this.discs10); assertEquals(expResult, instance); }
/** Test of toString method, of class TowerOfHanoi. */ @Test public void testToString() { System.out.println("toString"); TowerOfHanoi instance = new TowerOfHanoi(this.discs3); String expResult = "[3, 2, 1]\n" + "[]\n" + "[]\n"; String result = instance.toString(); assertEquals(expResult, result); // 5 discs instance = new TowerOfHanoi(this.discs5); expResult = "[5, 4, 3, 2, 1]\n" + "[]\n" + "[]\n"; result = instance.toString(); assertEquals(expResult, result); // 5 discs, last tower instance = new TowerOfHanoi(new int[] {}); instance.setTower2(this.discs5); expResult = "[]\n" + "[]\n" + "[5, 4, 3, 2, 1]\n"; result = instance.toString(); assertEquals(expResult, result); }
/** Test of legalMove method, of class TowerOfHanoi. */ @Test public void testLegalMove() { System.out.println("legalMove"); // a -> c TowerOfHanoi instance = new TowerOfHanoi(this.discs3); instance.legalMove(0, 2); TowerOfHanoi expResult = new TowerOfHanoi(new int[] {3, 2}); expResult.setTower2(new int[] {1}); assertEquals(expResult, instance); // a -> b instance.legalMove(0, 1); expResult.setTower0(new int[] {3}); expResult.setTower1(new int[] {2}); assertEquals(expResult, instance); // b <- c instance.legalMove(1, 2); expResult.setTower1(new int[] {2, 1}); expResult.setTower2(new int[] {}); assertEquals(expResult, instance); }
/** Test of moveFromXToY method, of class TowerOfHanoi. */ @Test public void testMoveLeftToRight() { System.out.println("moveFromXToY"); TowerOfHanoi instance = new TowerOfHanoi(this.discs3); instance.moveFromXToY(0, 1); TowerOfHanoi expResult = new TowerOfHanoi(new int[] {3, 2}); expResult.setTower1(new int[] {1}); assertEquals(expResult, instance); // instance = new TowerOfHanoi(this.discs3); instance.moveFromXToY(0, 1); instance.moveFromXToY(0, 2); instance.moveFromXToY(1, 0); expResult = new TowerOfHanoi(new int[] {3, 1}); expResult.setTower2(new int[] {2}); assertEquals(expResult, instance); }