|
18 | 18 | public class LDBCDatagenTest {
|
19 | 19 |
|
20 | 20 | final String dir = "./test_data/social_network";
|
| 21 | + final String sdir = "./test_data/substitution_parameters"; |
21 | 22 |
|
22 | 23 | @BeforeClass
|
23 | 24 | public static void generateData() {
|
24 |
| - ProcessBuilder pb = new ProcessBuilder("java", "-cp", "ldbc_snb_datagen.jar","org.apache.hadoop.util.RunJar","./ldbc_snb_datagen.jar","./test_params.ini"); |
| 25 | + ProcessBuilder pb = new ProcessBuilder("java", "-cp", "target/ldbc_snb_datagen.jar","org.apache.hadoop.util.RunJar","target/ldbc_snb_datagen.jar","./test_params.ini"); |
25 | 26 | pb.directory(new File("./"));
|
| 27 | + File log = new File("test_log"); |
| 28 | + pb.redirectErrorStream(true); |
| 29 | + pb.redirectOutput(ProcessBuilder.Redirect.appendTo(log)); |
26 | 30 | try {
|
27 | 31 | Process p = pb.start();
|
28 | 32 | p.waitFor();
|
29 |
| - |
30 | 33 | }catch(Exception e) {
|
31 | 34 | System.err.println(e.getMessage());
|
32 | 35 | }
|
@@ -182,9 +185,111 @@ public void personLikesPostCheck() {
|
182 | 185 | testPairUniquenessPlusExistance(dir+"/person_likes_post_0_0.csv",0,1,dir+"/person_0_0.csv",0,dir+"/post_0_0.csv",0);
|
183 | 186 | }
|
184 | 187 |
|
| 188 | + // test update stream time consistency |
| 189 | + @Test |
| 190 | + public void updateStreamForumsConsistencyCheck() { |
| 191 | + testLongPair(dir+"/updateStream_0_0_forum.csv",0,1,NumericPairCheck.NumericCheckType.G); |
| 192 | + } |
| 193 | + |
| 194 | + @Test |
| 195 | + public void queryParamsTest() { |
| 196 | + LongParser parser = new LongParser(); |
| 197 | + ColumnSet<Long> persons = new ColumnSet<Long>(parser,new File(dir+"/person_0_0.csv"),0,1); |
| 198 | + persons.initialize(); |
| 199 | + List<ColumnSet<Long>> personsRef = new ArrayList<ColumnSet<Long>>(); |
| 200 | + personsRef.add(persons); |
| 201 | + List<Integer> personIndex = new ArrayList<Integer>(); |
| 202 | + personIndex.add(0); |
| 203 | + ExistsCheck<Long> existsPersonCheck = new ExistsCheck<Long>(parser,personIndex, personsRef); |
| 204 | + |
| 205 | + FileChecker fileChecker = new FileChecker(sdir+"/query_1_param.txt"); |
| 206 | + fileChecker.addCheck(existsPersonCheck); |
| 207 | + if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST QUERY 1 PERSON EXISTS ",true, false); |
| 208 | + |
| 209 | + fileChecker = new FileChecker(sdir+"/query_2_param.txt"); |
| 210 | + fileChecker.addCheck(existsPersonCheck); |
| 211 | + if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST QUERY 2 PERSON EXISTS ",true, false); |
| 212 | + |
| 213 | + fileChecker = new FileChecker(sdir+"/query_3_param.txt"); |
| 214 | + fileChecker.addCheck(existsPersonCheck); |
| 215 | + if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST QUERY 3 PERSON EXISTS ",true, false); |
| 216 | + |
| 217 | + fileChecker = new FileChecker(sdir+"/query_4_param.txt"); |
| 218 | + fileChecker.addCheck(existsPersonCheck); |
| 219 | + if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST QUERY 4 PERSON EXISTS ",true, false); |
| 220 | + |
| 221 | + fileChecker = new FileChecker(sdir+"/query_5_param.txt"); |
| 222 | + fileChecker.addCheck(existsPersonCheck); |
| 223 | + if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST QUERY 5 PERSON EXISTS ",true, false); |
| 224 | + |
| 225 | + fileChecker = new FileChecker(sdir+"/query_6_param.txt"); |
| 226 | + fileChecker.addCheck(existsPersonCheck); |
| 227 | + if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST QUERY 6 PERSON EXISTS ",true, false); |
| 228 | + |
| 229 | + fileChecker = new FileChecker(sdir+"/query_7_param.txt"); |
| 230 | + fileChecker.addCheck(existsPersonCheck); |
| 231 | + if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST QUERY 7 PERSON EXISTS ",true, false); |
| 232 | + |
| 233 | + fileChecker = new FileChecker(sdir+"/query_8_param.txt"); |
| 234 | + fileChecker.addCheck(existsPersonCheck); |
| 235 | + if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST QUERY 8 PERSON EXISTS ",true, false); |
| 236 | + |
| 237 | + fileChecker = new FileChecker(sdir+"/query_9_param.txt"); |
| 238 | + fileChecker.addCheck(existsPersonCheck); |
| 239 | + if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST QUERY 9 PERSON EXISTS ",true, false); |
| 240 | + |
| 241 | + fileChecker = new FileChecker(sdir+"/query_10_param.txt"); |
| 242 | + fileChecker.addCheck(existsPersonCheck); |
| 243 | + if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST QUERY 10 PERSON EXISTS ",true, false); |
| 244 | + |
| 245 | + fileChecker = new FileChecker(sdir+"/query_11_param.txt"); |
| 246 | + fileChecker.addCheck(existsPersonCheck); |
| 247 | + if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST QUERY 11 PERSON EXISTS ",true, false); |
| 248 | + |
| 249 | + fileChecker = new FileChecker(sdir+"/query_12_param.txt"); |
| 250 | + fileChecker.addCheck(existsPersonCheck); |
| 251 | + if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST QUERY 12 PERSON EXISTS ",true, false); |
| 252 | + |
| 253 | + personIndex.add(1); |
| 254 | + ExistsCheck<Long> exists2PersonCheck = new ExistsCheck<Long>(parser,personIndex, personsRef); |
| 255 | + |
| 256 | + fileChecker = new FileChecker(sdir+"/query_13_param.txt"); |
| 257 | + fileChecker.addCheck(exists2PersonCheck); |
| 258 | + if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST QUERY 13 PERSON EXISTS ",true, false); |
| 259 | + |
| 260 | + fileChecker = new FileChecker(sdir+"/query_14_param.txt"); |
| 261 | + fileChecker.addCheck(exists2PersonCheck); |
| 262 | + if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST QUERY 14 PERSON EXISTS ",true, false); |
| 263 | + |
| 264 | + |
| 265 | + } |
| 266 | + // test query parameters correctness |
| 267 | + // query 1, check person id existance and surname existance |
| 268 | + // query 2, check person id existance and date time within simulation interval |
| 269 | + // query 3, check person id existance, country X and Y existance, startData + duration within simulation interval |
| 270 | + // query 4, check person id existance and startDate + duration within simulation interval |
| 271 | + // query 5, check person id and date within simulation interval |
| 272 | + // query 6, check person id and tag name existance |
| 273 | + // query 7, check person id existance |
| 274 | + // query 8, check person id existance |
| 275 | + // query 9, check person id and date within simulation interval |
| 276 | + // query 10, check person id existance and month between 1 and 12 |
| 277 | + // query 11, check person id existance, Country existance and year something reasonable |
| 278 | + // query 12, check person id existance and tagclass existance |
| 279 | + // query 13, check persons id existance |
| 280 | + // query 14, check persons id existance |
| 281 | + |
| 282 | + public void testLongPair(String fileName, Integer columnA, Integer columnB, NumericPairCheck.NumericCheckType type) { |
| 283 | + FileChecker fileChecker = new FileChecker(fileName); |
| 284 | + LongParser parser = new LongParser(); |
| 285 | + LongPairCheck check = new LongPairCheck(parser, " Long check less equal ", columnA, columnB, type); |
| 286 | + fileChecker.addCheck(check); |
| 287 | + if(!fileChecker.run(0)) assertEquals("ERROR PASSING TEST LONG PAIR FOR FILE "+fileName,true, false); |
| 288 | + } |
| 289 | + |
185 | 290 | public void testIdUniqueness(String fileName, int column) {
|
186 | 291 | FileChecker fileChecker = new FileChecker(fileName);
|
187 |
| - UniquenessCheck check = new UniquenessCheck(0); |
| 292 | + UniquenessCheck check = new UniquenessCheck(column); |
188 | 293 | fileChecker.addCheck(check);
|
189 | 294 | if(!fileChecker.run(1)) assertEquals("ERROR PASSING TEST ID UNIQUENESS FOR FILE "+fileName,true, false);
|
190 | 295 | }
|
|
0 commit comments