import junit.framework.TestCase; import java.awt.*; /** * A JUnit test case class. * Every method starting with the word "test" will be called when running * the test with JUnit. */ public class A4Tester extends TestCase { /** Test complement */ public void testComplement() { assertEquals(new Color(255-250, 255-0, 255-71), A4Methods.complementRGB(new Color(250, 0, 71))); } /** Test methods complement and truncateTo5 */ public void testTruncateTo5() { assertEquals("130.5", A4Methods.truncateTo5(130.59)); assertEquals("130.5", A4Methods.truncateTo5(130.54)); assertEquals("100.0", A4Methods.truncateTo5(100)); assertEquals("99.56", A4Methods.truncateTo5(99.566)); assertEquals("99.99", A4Methods.truncateTo5(99.99)); assertEquals("99.99", A4Methods.truncateTo5(99.995)); assertEquals("21.99", A4Methods.truncateTo5(21.99575)); assertEquals("21.99", A4Methods.truncateTo5(21.994)); assertEquals("10.01", A4Methods.truncateTo5(10.013567)); assertEquals("10.00", A4Methods.truncateTo5(10.000000005)); assertEquals("9.999", A4Methods.truncateTo5(9.9999)); assertEquals("9.999", A4Methods.truncateTo5(9.9993)); assertEquals("1.354", A4Methods.truncateTo5(1.3546)); assertEquals("1.354", A4Methods.truncateTo5(1.3544)); assertEquals("0.045", A4Methods.truncateTo5(.0456)); assertEquals("0.045", A4Methods.truncateTo5(.0453)); assertEquals("0.005", A4Methods.truncateTo5(.0056)); assertEquals("0.001", A4Methods.truncateTo5(.0013)); assertEquals("0.000", A4Methods.truncateTo5(.0004)); assertEquals("0.000", A4Methods.truncateTo5(.0009999)); } public void testroundTo5() { assertEquals("130.6", A4Methods.roundTo5(130.59)); assertEquals("130.5", A4Methods.roundTo5(130.54)); assertEquals("100.0", A4Methods.roundTo5(100)); assertEquals("99.57", A4Methods.roundTo5(99.566)); assertEquals("99.99", A4Methods.roundTo5(99.99)); assertEquals("100.0", A4Methods.roundTo5(99.995)); assertEquals("22.00", A4Methods.roundTo5(21.99575)); assertEquals("21.99", A4Methods.roundTo5(21.994)); assertEquals("10.01", A4Methods.roundTo5(10.013567)); assertEquals("10.00", A4Methods.roundTo5(10.000000005)); assertEquals("10.00", A4Methods.roundTo5(9.9999)); assertEquals("9.999", A4Methods.roundTo5(9.9993)); assertEquals("1.355", A4Methods.roundTo5(1.3546)); assertEquals("1.354", A4Methods.roundTo5(1.3544)); assertEquals("0.046", A4Methods.roundTo5(.0456)); assertEquals("0.045", A4Methods.roundTo5(.0453)); assertEquals("0.006", A4Methods.roundTo5(.0056)); assertEquals("0.001", A4Methods.roundTo5(.0013)); assertEquals("0.000", A4Methods.roundTo5(.0004)); assertEquals("0.001", A4Methods.roundTo5(.0009999)); } /** Test methods toString(...) functions */ public void testToStrings() { assertEquals("(30, 240, 230)", A4Methods.toString(new Color(30, 240, 230))); } /** Test the translation functions */ public void testTranslations() { Color rgb= new Color(255, 255, 255); CMYK cmyk= A4Methods.convertRGBtoCMYK(rgb); assertEquals(0.0, cmyk.cyan()); assertEquals(0.0, cmyk.magenta()); assertEquals(0.0, cmyk.yellow()); assertEquals(0.0, cmyk.black()); rgb= new Color(0, 0, 0); cmyk= A4Methods.convertRGBtoCMYK(rgb); assertEquals(0.0, cmyk.cyan()); assertEquals(0.0, cmyk.magenta()); assertEquals(0.0, cmyk.yellow()); assertEquals(100.0, cmyk.black()); rgb= new Color(217, 43, 164); cmyk= A4Methods.convertRGBtoCMYK(rgb); assertEquals("0.000", A4Methods.roundTo5(cmyk.cyan())); assertEquals("80.18", A4Methods.roundTo5(cmyk.magenta())); assertEquals("24.42", A4Methods.roundTo5(cmyk.yellow())); assertEquals("14.90", A4Methods.roundTo5(cmyk.black())); // test cmyk to rgb // Test rgb to hsv // Test hsv to rgb } }