import java.awt.Color; import junit.framework.TestCase; /* * This testing framework provides basic level tests for * each of the methods, however additional testing will be * required, along with extensive testing of ALL helper methods * that you write. */ public class PictureTest extends TestCase { /* * A method to test the private helper methods within * Picture.java */ public void testHelpers() { assertTrue(Picture.helpersWork()); } /* * Validate that grayscale works and does not modify the * original Picture object. */ public void testGrayscale() { Picture pic = Picture.loadPicture("Creek.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("Creek_grayscale.bmp"); Picture picTest = pic.grayscale(); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /* * Validate that negate works and does not modify the * original Picture object. */ public void testNegate() { Picture pic = Picture.loadPicture("Creek.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("Creek_negate.bmp"); Picture picTest = pic.negate(); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /* * Validate that rotate(1) works and does not modify the * original Picture object. */ public void testRotate1() { Picture pic = Picture.loadPicture("CalOriginal.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("CalRotate1.bmp"); Picture picTest = pic.rotate(1); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /* * Validate that rotate(2) works and does not modify the * original Picture object. */ public void testRotate2() { Picture pic = Picture.loadPicture("CalOriginal.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("CalRotate2.bmp"); Picture picTest = pic.rotate(2); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /* * Validate that rotate(3) works and does not modify the * original Picture object. */ public void testRotate3() { Picture pic = Picture.loadPicture("CalOriginal.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("CalRotate3.bmp"); Picture picTest = pic.rotate(3); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /* * Validate that flip(Picture.HORIZONTAL) works and does not modify the * original Picture object. */ public void testFlipHorixontal() { Picture pic = Picture.loadPicture("CalOriginal.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("CalHorizontal.bmp"); Picture picTest = pic.flip(Picture.HORIZONTAL); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /* * Validate that flip(Picture.VERTICAL) works and does not modify the * original Picture object. */ public void testFlipVertical() { Picture pic = Picture.loadPicture("CalOriginal.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("CalVertical.bmp"); Picture picTest = pic.flip(Picture.VERTICAL); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /* * Validate that flip(Picture.FORWARD_DIAGONAL) works and * does not modify the original Picture object. */ public void testFlipForwardDiagonal() { Picture pic = Picture.loadPicture("CalOriginal.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("CalForwardDiagonal.bmp"); Picture picTest = pic.flip(Picture.FORWARD_DIAGONAL); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /* * Validate that flip(Picture.BACKWARD_DIAGONAL) works and * does not modify the original Picture object. */ public void testFlipBackwardDiagonal() { Picture pic = Picture.loadPicture("CalOriginal.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("CalBackwardDiagonal.bmp"); Picture picTest = pic.flip(Picture.BACKWARD_DIAGONAL); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /* * Validate that blur works and does not modify the * original Picture object. */ public void testBlur() { Picture pic = Picture.loadPicture("Creek.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("Creek_blur.bmp"); Picture picTest = pic.blur(3); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /* * Validate that showEdges works and does not modify the * original Picture object. */ public void testShowEdges() { Picture pic = Picture.loadPicture("Colleen.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("Colleen_showEdges.bmp"); Picture picTest = pic.showEdges(20); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /* * Validate that chromaKey works and does not modify the * original Picture object. */ public void testChromaKey() { Picture pic = Picture.loadPicture("Colleen.bmp"); Picture bg = Picture.loadPicture("Creek.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("Colleen_chromaKey.bmp"); Picture picTest = pic.chromaKey(118, 54, bg, 30); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /* * Validate that paintBucket works and does not modify the * original Picture object. */ public void testPaintBucket() { Picture pic = Picture.loadPicture("Colleen.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("Colleen_paintBucket.bmp"); Picture picTest = pic.paintBucket(118, 54, 30, new Color(0, 255, 0)); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /* * Validate that convertToAscii works and does not modify the * original Picture object. */ public void testConvertToAscii() { Picture pic = Picture.loadPicture("mickey.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("mickey_ascii.bmp"); Picture picTest = pic.convertToAscii(); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /* * Validate that showEdges works and does not modify the * original Picture object (and this picture is cute) */ public void testShowEdgesMickey() { Picture pic = Picture.loadPicture("mickey.bmp"); Picture picCopy = new Picture(pic); Picture picCorrect = Picture.loadPicture("mickey_showEdges.bmp"); Picture picTest = pic.showEdges(20); assertTrue(pic.equals(picCopy)); assertTrue(picCorrect.equals(picTest)); } /** * Helper method for loading a picture in the current directory. */ }