001 package ps6.test; 002 003 import ps6.Address; 004 import ps6.test.TestRecord.TestDB; 005 006 /** 007 * ValidateQueries contains static fields which hold candidate test queries 008 */ 009 public final class ValidateQueries { 010 011 // test directions when start and end are on the same segment 012 public static final TestRecord testSameSegment = 013 new TestRecord("testSameSegment", TestDB.TINY, 014 TestRecord.TestType.DRIVING, 015 new Address(800, "SE Pioneer Way", "98277"), 016 new Address(841,"SE Pioneer Way", "98277"), 017 new String[] { 018 "Turn left onto SE Pioneer Way and go 0.1 miles.", 019 "841 SE Pioneer Way 98277 is on your right" }, 020 "Trip length: 0.1 miles", 021 0.07472776589129437, null); 022 023 // test directions when start and end are on the same street 024 public static final TestRecord testSameStreetWalking = 025 new TestRecord( "testSameStreetWalking", TestDB.TINY, 026 TestRecord.TestType.WALKING, 027 new Address(630, "SE Pioneer Way", "98277"), 028 new Address(940, "SE Pioneer Way", "98277"), 029 new String[] { 030 "Turn left onto SE Pioneer Way and walk for 5 minutes.", 031 "940 SE Pioneer Way 98277 is on your left", }, 032 "Trip time: 5 minutes", 033 0.232764928811733, null); 034 035 // test directions when start and end are on the same street 036 public static final TestRecord testSameStreetDriving = 037 new TestRecord("testSameStreetDriving", TestDB.TINY, 038 TestRecord.TestType.DRIVING, 039 new Address(630, "SE Pioneer Way", "98277"), 040 new Address(940, "SE Pioneer Way", "98277"), 041 new String[] { 042 "Turn left onto SE Pioneer Way and go 0.2 miles.", 043 "940 SE Pioneer Way 98277 is on your left", }, 044 "Trip length: 0.2 miles", 045 0.232764928811733, null); 046 047 // test directions when start and end are on the same zip 048 public static final TestRecord testSameZip = 049 new TestRecord( "testSameZip", TestDB.TINY, 050 TestRecord.TestType.DRIVING, 051 new Address(841, "SE Pioneer Way", "98277"), 052 new Address(1403, "Monroe Landing Rd", "98277"), 053 new String[] { 054 "Turn left onto SE Pioneer Way and go 0.5 miles.", 055 "Continue onto W Pioneer Way and go 0.6 miles.", 056 "Turn slight left onto State Route 20 and go 1.6 miles.", 057 "Turn left onto Monroe Landing Rd and go 0.2 miles.", 058 "1403 Monroe Landing Rd 98277 is on your right",}, 059 "Trip length: 2.9 miles", 060 2.9145611963146507, null); 061 062 // test the first example from the assignment handout 063 public static final TestRecord testExamplePath1 = 064 new TestRecord( "testExamplePath1", TestDB.TINY, 065 TestRecord.TestType.WALKING, 066 new Address(950, "NW 2nd Ave", "98277"), 067 new Address(473, "SW Fairhaven Dr","98277"), 068 new String[] { 069 "Turn left onto NW 2nd Ave and walk for 4 minutes.", 070 "Turn right onto NW Fairhaven Dr and walk for 2 minutes.", 071 "Turn slight right onto SW Fairhaven Dr and walk for 7 minutes.", 072 "473 SW Fairhaven Dr 98277 is on your right",}, 073 "Trip time: 13 minutes", 074 0.6395505841145289, null); 075 076 // test the second example from the assignment handout 077 public static final TestRecord testExamplePath2 = 078 new TestRecord( "testExamplePath2", TestDB.TINY, 079 TestRecord.TestType.DRIVING, 080 new Address(841, "SE Pioneer Way", "98277"), 081 new Address(1403, "Monroe Landing Rd","98277"), 082 new String[] { 083 "Turn left onto SE Pioneer Way and go 0.5 miles.", 084 "Continue onto W Pioneer Way and go 0.6 miles.", 085 "Turn slight left onto State Route 20 and go 1.6 miles.", 086 "Turn left onto Monroe Landing Rd and go 0.2 miles.", 087 "1403 Monroe Landing Rd 98277 is on your right",}, 088 "Trip length: 2.9 miles", 089 2.9145611963146507, null); 090 091 // test the second example from the assignment handout 092 public static final TestRecord testExamplePath3 = 093 new TestRecord( "testExamplePath3", TestDB.TINY, 094 TestRecord.TestType.DRIVING, 095 new Address(2430, "Fairway Ln", "98277"), 096 new Address(1614, "Swantown Rd","98277"), 097 new String[] { 098 "Turn left onto Fairway Ln and go 0.2 miles.", 099 "Turn sharp left onto Swantown Rd and go 1.1 miles.", 100 "1614 Swantown Rd 98277 is on your right",}, 101 "Trip length: 1.3 miles", 102 0.3038780471564961, null); 103 104 105 // test for an invalid zip code 106 public static final TestRecord testBadZip = 107 new TestRecord( "testBadZip", TestDB.TINY, 108 TestRecord.TestType.INVALID_ADDRESS, 109 new Address(123, "Bad Zip Code Rd", "12345"), 110 new Address(123, "Bad Zip Code Rd", "12345"), 111 null,null,Double.NaN, 112 "No such zipcode: 123 Bad Zip Code Rd 12345"); 113 114 // test for an invalid street 115 public static final TestRecord testBadStreet = 116 new TestRecord( "testBadStreet", TestDB.TINY, 117 TestRecord.TestType.INVALID_ADDRESS, 118 new Address(123, "Fake St", "98277"), 119 new Address(123, "Fake St", "98277"), 120 null,null,Double.NaN, 121 "No such street: 123 Fake St 98277"); 122 123 // test for an invalid number 124 public static final TestRecord testBadNum = 125 new TestRecord( "testBadNum", TestDB.TINY, 126 TestRecord.TestType.INVALID_ADDRESS, 127 new Address(2000, "Starflower Rd", "98277"), 128 new Address(2000,"Starflower Rd", "98277"), 129 null,null,Double.NaN, 130 "No such number: 2000 Starflower Rd 98277"); 131 132 // test for invalid direction type 133 public static final TestRecord testBadDirType = 134 new TestRecord( "testBadDirType", TestDB.TINY, 135 TestRecord.TestType.INVALID_DIR_TYPE, 136 new Address(841, "SE Pioneer Way", "98277"), 137 new Address(841, "SE Pioneer Way", "98277"), 138 null,null,Double.NaN, 139 "Invalid direction type: q"); 140 141 142 /** All validation queries **/ 143 public static final TestRecord[] allQueries = { 144 testBadZip, 145 testBadStreet, 146 testBadNum, 147 testBadDirType, 148 testSameSegment, 149 testSameZip, 150 testSameStreetWalking, 151 testSameStreetDriving, 152 testExamplePath1, 153 testExamplePath2, 154 testExamplePath3, 155 }; 156 157 //You may want to create other groups of queries, e.g.: 158 // 159 //public static final TestRecord[] badQueries = { 160 // testBadZip, 161 // testBadStreet, 162 // testBadNum, 163 // testBadDirType, 164 //}; 165 }