/* * Test Name: test_Conversion * Subject Web link: http://cs.gmu.edu:8080/uprapham/servlet/convert * * Methodology: * input domain partition: * characteristics 1, input is a number or not; base: number * characteristics 2, number compare to 0, neg, 0, pos; base: positive * characteristics 3, button is clicked, reset or convert; base: convert * * For base choice criterion, need following tests: * v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14 -> * 1,1,1,1,1,1,1,1,1,1,1,1,1,1 convert (base) * 0,0,0,0,0,0,0,0,0,0,0,0,0,0 convert * -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 convert * a,a,a,a,a,a,a,a,a,a,a,a,a,a convert * 1,1,1,1,1,1,1,1,1,1,1,1,1,1 reset * */ import net.sourceforge.jwebunit.junit.WebTester; import org.junit.*; import com.gargoylesoftware.htmlunit.ScriptException; import static net.sourceforge.jwebunit.junit.JWebUnit.*; import static org.junit.Assert.assertEquals; public class test_Conversion { private WebTester tester; @Before public void prepare() { tester = new WebTester(); tester.setBaseUrl("http://cs.gmu.edu:8080/uprapham/servlet"); } @After public void teardown() { tester.closeBrowser(); } // 1,1,1,1,1,1,1,1,1,1,1,1,1,1 convert (base) /* * Test case number: 1 Test case values: 1,1,1,1,1,1,1,1,1,1,1,1,1,1 convert * (base) Expected output (Post-state): results include * * 1.0 Fº = -17.22 Cº 1.0 Cº = 33.8 Fº 1.0 in = 2.54 cm 1.0 cm = 0.39 in 1.0 * ft = 0.3 m 1.0 m = 3.28 ft 1.0 mi = 1.61 km 1.0 km = 0.62 mi 1.0 gal = * 3.79 L 1.0 L = 0.26 gal 1.0 oz = 28.35 g 1.0 g = 0.04 oz 1.0 lb = 0.45 kg * 1.0 kg = 2.21 lb */ @Test public void test1() { tester.beginAt("/convert"); tester.assertTitleEquals("SWE 642: Measurement Conversion"); tester.setTextField("F", "1"); tester.setTextField("C", "1"); tester.setTextField("in", "1"); tester.setTextField("cm", "1"); tester.setTextField("ft", "1"); tester.setTextField("m", "1"); tester.setTextField("mi", "1"); tester.setTextField("km", "1"); tester.setTextField("gal", "1"); tester.setTextField("L", "1"); tester.setTextField("oz", "1"); tester.setTextField("g", "1"); tester.setTextField("lb", "1"); tester.setTextField("kg", "1"); tester.submit(); tester.assertTextPresent("-17.22 C"); tester.assertTextPresent("33.8 F"); tester.assertTextPresent("2.54 cm"); tester.assertTextPresent("0.39 in"); tester.assertTextPresent("0.3 m"); tester.assertTextPresent("3.28 ft"); tester.assertTextPresent("1.61 km"); tester.assertTextPresent("0.62 mi"); tester.assertTextPresent("3.79 L"); tester.assertTextPresent("0.26 gal"); tester.assertTextPresent("28.35 g"); tester.assertTextPresent("0.04 oz"); tester.assertTextPresent("0.45 kg"); tester.assertTextPresent("2.21 lb"); } // 0,0,0,0,0,0,0,0,0,0,0,0,0,0 convert /* * Test case number: 2 Test case values: 0,0,0,0,0,0,0,0,0,0,0,0,0,0 convert * Expected output (Post-state): results include * * 0.0 Fº = -17.78 Cº 0.0 Cº = 32.0 Fº 0.0 in = 0.0 cm 0.0 cm = 0.0 in 0.0 * ft = 0.0 m 0.0 m = 0.0 ft 0.0 mi = 0.0 km 0.0 km = 0.0 mi 0.0 gal = 0.0 L * 0.0 L = 0.0 gal 0.0 oz = 0.0 g 0.0 g = 0.0 oz 0.0 lb = 0.0 kg 0.0 kg = * 0.0 lb */ @Test public void test2() { tester.beginAt("/convert"); tester.assertTitleEquals("SWE 642: Measurement Conversion"); tester.setTextField("F", "0"); tester.setTextField("C", "0"); tester.setTextField("in", "0"); tester.setTextField("cm", "0"); tester.setTextField("ft", "0"); tester.setTextField("m", "0"); tester.setTextField("mi", "0"); tester.setTextField("km", "0"); tester.setTextField("gal", "0"); tester.setTextField("L", "0"); tester.setTextField("oz", "0"); tester.setTextField("g", "0"); tester.setTextField("lb", "0"); tester.setTextField("kg", "0"); tester.submit(); tester.assertTextPresent("-17.78 C"); tester.assertTextPresent("32.0 F"); tester.assertTextPresent("0.0 cm"); tester.assertTextPresent("0.0 in"); tester.assertTextPresent("0.0 m"); tester.assertTextPresent("0.0 ft"); tester.assertTextPresent("0.0 km"); tester.assertTextPresent("0.0 mi"); tester.assertTextPresent("0.0 L"); tester.assertTextPresent("0.0 gal"); tester.assertTextPresent("0.0 g"); tester.assertTextPresent("0.0 oz"); tester.assertTextPresent("0.0 kg"); tester.assertTextPresent("0.0 lb"); } // -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 convert /* * Test case number: 3 Test case values: * -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 convert Expected output * (Post-state): results include -1.0 Fº = -18.33 Cº -1.0 Cº = 30.2 Fº -1.0 * in = -2.54 cm -1.0 cm = -0.39 in -1.0 ft = -0.3 m -1.0 m = -3.28 ft -1.0 * mi = -1.61 km -1.0 km = -0.62 mi -1.0 gal = -3.78 L -1.0 L = -0.26 gal * -1.0 oz = -28.35 g -1.0 g = -0.04 oz -1.0 lb = -0.45 kg -1.0 kg = -2.2 lb */ @Test public void test3() { tester.beginAt("/convert"); tester.assertTitleEquals("SWE 642: Measurement Conversion"); tester.setTextField("F", "-1"); tester.setTextField("C", "-1"); tester.setTextField("in", "-1"); tester.setTextField("cm", "-1"); tester.setTextField("ft", "-1"); tester.setTextField("m", "-1"); tester.setTextField("mi", "-1"); tester.setTextField("km", "-1"); tester.setTextField("gal", "-1"); tester.setTextField("L", "-1"); tester.setTextField("oz", "-1"); tester.setTextField("g", "-1"); tester.setTextField("lb", "-1"); tester.setTextField("kg", "-1"); tester.submit(); tester.assertTextPresent("-18.33 C"); tester.assertTextPresent("30.2 F"); tester.assertTextPresent("-2.54 cm"); tester.assertTextPresent("-0.39 in"); tester.assertTextPresent("-0.3 m"); tester.assertTextPresent("-3.28 ft"); tester.assertTextPresent("-1.61 km"); tester.assertTextPresent("-0.62 mi"); tester.assertTextPresent("-3.78 L"); tester.assertTextPresent("-0.26 gal"); tester.assertTextPresent("-28.35 g"); tester.assertTextPresent("-0.04 oz"); tester.assertTextPresent("-0.45 kg"); tester.assertTextPresent("-2.2 lb"); } // a,a,a,a,a,a,a,a,a,a,a,a,a,a convert /* * Test case number: 4 Test case values: a,a,a,a,a,a,a,a,a,a,a,a,a,a convert * Expected output (Post-state): exceptions * * Fault: 500 Error is returned */ @Test public void test4() { tester.beginAt("/convert"); tester.assertTitleEquals("SWE 642: Measurement Conversion"); tester.setTextField("F", "a"); tester.setTextField("C", "a"); tester.setTextField("in", "a"); tester.setTextField("cm", "a"); tester.setTextField("ft", "a"); tester.setTextField("m", "a"); tester.setTextField("mi", "a"); tester.setTextField("km", "a"); tester.setTextField("gal", "a"); tester.setTextField("L", "a"); tester.setTextField("oz", "a"); tester.setTextField("g", "a"); tester.setTextField("lb", "a"); tester.setTextField("kg", "a"); tester.submit(); } // 1,1,1,1,1,1,1,1,1,1,1,1,1,1 reset /* * Test case number: 5 Test case values: 1,1,1,1,1,1,1,1,1,1,1,1,1,1 reset * Expected output (Post-state): all text fields are clear */ @Test public void test5() { tester.beginAt("/convert"); tester.assertTitleEquals("SWE 642: Measurement Conversion"); tester.setTextField("F", "1"); tester.setTextField("C", "1"); tester.setTextField("in", "1"); tester.setTextField("cm", "1"); tester.setTextField("ft", "1"); tester.setTextField("m", "1"); tester.setTextField("mi", "1"); tester.setTextField("km", "1"); tester.setTextField("gal", "1"); tester.setTextField("L", "1"); tester.setTextField("oz", "1"); tester.setTextField("g", "1"); tester.setTextField("lb", "1"); tester.setTextField("kg", "1"); tester.reset(); tester.assertTextFieldEquals("F", ""); tester.assertTextFieldEquals("C", ""); tester.assertTextFieldEquals("in", ""); tester.assertTextFieldEquals("cm", ""); tester.assertTextFieldEquals("ft", ""); tester.assertTextFieldEquals("m", ""); tester.assertTextFieldEquals("mi", ""); tester.assertTextFieldEquals("km", ""); tester.assertTextFieldEquals("gal", ""); tester.assertTextFieldEquals("L", ""); tester.assertTextFieldEquals("oz", ""); tester.assertTextFieldEquals("g", ""); tester.assertTextFieldEquals("lb", ""); tester.assertTextFieldEquals("kg", ""); } }