1 3 package jodd.db.orm; 4 5 import static jodd.db.orm.sqlgen.DbSqlTemplate.ColumnAliasType.COLUMN_CODE; 6 import junit.framework.TestCase; 7 import jodd.db.connection.ConnectionProvider; 8 import jodd.db.pool.CoreConnectionPool; 9 import jodd.db.DbSession; 10 import jodd.db.DbThreadSession; 11 import jodd.db.DbQuery; 12 import jodd.db.DbQueryMode; 13 import jodd.db.orm.test.*; 14 import jodd.db.orm.sqlgen.*; 15 16 import java.util.*; 17 18 public class DbOrmTest extends TestCase { 19 20 ConnectionProvider cp; 21 22 protected void setUp() throws Exception { 23 super.setUp(); 24 String dbFile = System.getProperty("prj.build.dir"); 26 if (dbFile == null) { 27 dbFile = ""; 28 } 29 dbFile += "/db/jodd5-db"; 30 CoreConnectionPool pool = new CoreConnectionPool(); 31 pool.setDriver("org.hsqldb.jdbcDriver"); 32 pool.setUrl("jdbc:hsqldb:" + dbFile); 33 pool.setUser("sa"); 34 pool.setPassword(""); 35 pool.init(); 36 cp = pool; 37 } 38 39 protected void tearDown() throws Exception { 40 super.tearDown(); 41 cp.close(); 42 } 43 44 45 public void testOrm() { 46 47 DbSession session = new DbThreadSession(cp); 48 String sql = "create table GIRL (" + 49 "ID integer not null," + 50 "NAME varchar(20) not null," + 51 "SPECIALITY varchar(20) null," + 52 "primary key (ID)" + 53 ')'; 54 DbQuery query = new DbQuery(sql); 55 query.executeUpdate(); 56 assertTrue(query.isClosed()); 57 58 sql = "create table BOY (" + 59 "ID integer not null," + 60 "GIRL_ID integer null," + 61 "NAME varchar(20) null," + 62 "primary key (ID)," + 63 "FOREIGN KEY (GIRL_ID) REFERENCES GIRL (ID)" + 64 ')'; 65 query = new DbQuery(sql); 66 query.executeUpdate(); 67 assertTrue(query.isClosed()); 68 69 session.closeSession(); 70 assertTrue(session.isSessionClosed()); 71 72 73 session = new DbThreadSession(cp); 75 76 DbOrm dbOrm = DbOrm.getInstance(); 77 dbOrm.mapTable(BadBoy.class); 78 79 81 assertEquals(1, new DbOrmQuery(new DbSqlInsert(new Girl(1, "Anna", "seduction"))).executeUpdate()); 82 assertEquals(1, new DbOrmQuery(new DbSqlInsert(new Girl(2, "Sandra", "spying"))).executeUpdate()); 83 assertEquals(0, session.getTotalActiveQueries()); 84 assertEquals(2, session.getTotalQueries()); 85 86 DbOrmQuery q2 = new DbOrmQuery(new DbSqlInsert(new Girl(3, "Monica", null)), new DbQueryMode().setDebug(true)); 87 assertEquals("insert into GIRL (NAME, ID) values ('Monica', 3)", q2.getQueryString()); 88 assertEquals(1, q2.executeUpdate()); 89 assertTrue(q2.isClosed()); 90 91 assertEquals(1, new DbOrmQuery(new DbSqlInsert(new BadBoy(Integer.valueOf(1), "Johny", Integer.valueOf(3)))).executeUpdate()); 92 assertEquals(0, session.getTotalActiveQueries()); 93 assertEquals(4, session.getTotalQueries()); 94 95 96 98 DbOrmQuery q = new DbOrmQuery("select * from GIRL order by ID"); 99 100 Girl girl = q.findOne(Girl.class); 101 checkGirl1(girl); 102 assertTrue(q.isActive()); 103 104 girl = (Girl) (q.find(Girl.class))[0]; 105 checkGirl1(girl); 106 107 try { 108 girl = (Girl) (q.find()[0]); 110 fail(); 111 } catch(DbOrmException doex) { 112 } 113 114 115 List<Girl> listGirl = q.listOne(Girl.class); 117 assertEquals(3, listGirl.size()); 118 girl = listGirl.get(1); 119 checkGirl2(girl); 120 121 122 List list = q.list(Girl.class); 123 assertEquals(3, list.size()); 124 girl = (Girl) ((Object []) list.get(2))[0]; 125 checkGirl3(girl); 126 assertFalse(q.isClosed()); 127 128 Set<Girl> setGirl = q.listSetOne(Girl.class); 130 assertEquals(3, setGirl.size()); 131 girl = (setGirl.iterator().next()); 132 checkGirl1(girl); 133 134 Set set = q.listSet(Girl.class); 135 assertEquals(3, set.size()); 136 girl = (Girl) ((Object []) set.iterator().next())[0]; 137 checkGirl1(girl); 138 139 Iterator it = q.iterateOne(Girl.class); 141 while (it.hasNext()) { 142 girl = (Girl) it.next(); 143 } 144 checkGirl3(girl); 145 146 it = q.iterate(Girl.class); 147 while (it.hasNext()) { 148 girl = (Girl) ((Object []) it.next())[0]; 149 } 150 checkGirl3(girl); 151 152 q.close(); 153 154 155 157 q = new DbOrmQuery("select * from BOY order by ID"); 158 159 BadBoy badBoy = q.findOne(BadBoy.class); 160 checkBoy(badBoy); 161 162 badBoy = (BadBoy) (q.find(BadBoy.class))[0]; 163 checkBoy(badBoy); 164 165 badBoy = (BadBoy) (q.find()[0]); 166 checkBoy(badBoy); 167 168 169 List<BadBoy> listBadBoyt = q.listOne(BadBoy.class); 171 assertEquals(1, listBadBoyt.size()); 172 badBoy = listBadBoyt.get(0); 173 checkBoy(badBoy); 174 175 list = q.list(BadBoy.class); 176 assertEquals(1, list.size()); 177 badBoy = (BadBoy) ((Object []) list.get(0))[0]; 178 checkBoy(badBoy); 179 180 list = q.list(); 181 assertEquals(1, list.size()); 182 badBoy = (BadBoy) ((Object []) list.get(0))[0]; 183 checkBoy(badBoy); 184 185 186 187 Set<BadBoy> setBadBoy = q.listSetOne(BadBoy.class); 189 assertEquals(1, setBadBoy.size()); 190 badBoy = (setBadBoy.iterator().next()); 191 checkBoy(badBoy); 192 193 set = q.listSet(BadBoy.class); 194 assertEquals(1, set.size()); 195 badBoy = (BadBoy) ((Object []) set.iterator().next())[0]; 196 checkBoy(badBoy); 197 198 set = q.listSet(); 199 assertEquals(1, set.size()); 200 badBoy = (BadBoy) ((Object []) set.iterator().next())[0]; 201 checkBoy(badBoy); 202 203 it = q.iterateOne(BadBoy.class); 205 while (it.hasNext()) { 206 badBoy = (BadBoy) it.next(); 207 } 208 checkBoy(badBoy); 209 210 it = q.iterate(BadBoy.class); 211 while (it.hasNext()) { 212 badBoy = (BadBoy) ((Object []) it.next())[0]; 213 } 214 checkBoy(badBoy); 215 216 it = q.iterate(); 217 while (it.hasNext()) { 218 badBoy = (BadBoy) ((Object []) it.next())[0]; 219 } 220 checkBoy(badBoy); 221 222 q.close(); 223 224 225 227 dbOrm.mapTable(BadGirl.class); 228 229 q = new DbOrmQuery("select * from GIRL join BOY on GIRL.ID=BOY.GIRL_ID"); 231 232 badBoy = q.findOne(BadBoy.class); 233 assertNull(badBoy); 235 BadGirl badGirl = q.findOne(BadGirl.class); 236 checkBadGirl3(badGirl); 237 238 Object [] res = q.find(BadBoy.class, BadGirl.class); 239 badBoy = (BadBoy) res[0]; 240 badGirl = (BadGirl) res[1]; 241 checkBadGirl3(badGirl); 242 assertNull(badBoy); 244 res = q.find(BadGirl.class, BadBoy.class); 245 badBoy = (BadBoy) res[1]; 246 badGirl = (BadGirl) res[0]; 247 checkBadGirl3(badGirl); 248 checkBoy(badBoy); 249 250 res = q.find(Boy.class, Girl.class); 251 Boy boy = (Boy) res[0]; 252 girl = (Girl) res[1]; 253 assertNull(boy); checkGirl3(girl); 255 256 res = q.find(Girl.class, Boy.class); 257 boy = (Boy) res[1]; 258 girl = (Girl) res[0]; 259 checkBoy(boy); 260 checkGirl3(girl); 261 262 res = q.find(); 263 badGirl = (BadGirl) res[0]; 264 badBoy = (BadBoy) res[1]; 265 checkBadGirl3(badGirl); 266 checkBoy(badBoy); 267 268 269 271 q = new DbOrmQuery("select * from GIRL left join BOY on GIRL.ID=BOY.GIRL_ID order by GIRL.ID"); 272 273 list = q.list(Girl.class, Boy.class); 274 assertEquals(3, list.size()); 275 checkGirl1((Girl) ((Object [])list.get(0))[0]); 276 assertNull(((Object [])list.get(0))[1]); 277 278 checkGirl2((Girl) ((Object [])list.get(1))[0]); 279 assertNull(((Object [])list.get(1))[1]); 280 281 checkGirl3((Girl) ((Object [])list.get(2))[0]); 282 checkBoy((Boy) ((Object [])list.get(2))[1]); 283 284 285 287 badGirl = new BadGirl(); 288 badBoy = new BadBoy(); 289 DbDynamicSqlTemplate t = new DbDynamicSqlTemplate("select g.*, b.* from $T{g}, $T{b} where 1=1 $W{and g} $W{and b}").use("g", badGirl).use("b", badBoy); 290 q = new DbOrmQuery(t); 291 list = q.list(BadBoy.class, BadGirl.class); 292 assertEquals(3, list.size()); 293 294 t = new DbDynamicSqlTemplate("select g.*, b.* from $T{g}, $T{b} $W{where g, b}").use("g", badGirl).use("b", badBoy); 295 q = new DbOrmQuery(t); 296 list = q.list(BadBoy.class, BadGirl.class); 297 assertEquals(3, list.size()); 298 299 t = new DbDynamicSqlTemplate("select g.*, b.* from $T{g}, $T{b} $W{where b, g}").use("g", badGirl).use("b", badBoy); 300 q = new DbOrmQuery(t); 301 list = q.list(BadBoy.class, BadGirl.class); 302 assertEquals(3, list.size()); 303 304 305 306 307 badGirl.fooname = "Sandra"; 308 t = new DbDynamicSqlTemplate("select g.*, b.* from $T{g}, $T{b} where 1=1 $W{and b} $W{and g}").use("g", badGirl).use("b", badBoy); 309 q = new DbOrmQuery(t); 310 Object [] result = q.find(BadGirl.class, BadBoy.class); 311 checkBoy((BadBoy) result[1]); 312 checkBadGirl2((BadGirl) result[0]); 313 314 t = new DbDynamicSqlTemplate("select g.*, b.* from $T{g}, $T{b} $W{where b, g}").use("g", badGirl).use("b", badBoy); 315 q = new DbOrmQuery(t); 316 result = q.find(BadGirl.class, BadBoy.class); 317 checkBoy((BadBoy) result[1]); 318 checkBadGirl2((BadGirl) result[0]); 319 320 t = new DbDynamicSqlTemplate("select b.*, g.* from $T{g}, $T{b} $W{where g, b}").use("g", badGirl).use("b", badBoy); 321 q = new DbOrmQuery(t); 322 result = q.find(BadBoy.class, BadGirl.class); 323 checkBoy((BadBoy) result[0]); 324 checkBadGirl2((BadGirl) result[1]); 325 326 327 328 badBoy.ajdi = Integer.valueOf(1); 329 badBoy.nejm = "Johny"; 330 t = new DbDynamicSqlTemplate("select b.*, g.* from $T{g}, $T{b} where 1=1 $W{and g} $W{and b}").use("g", badGirl).use("b", badBoy); 331 q = new DbOrmQuery(t); 332 result = q.find(BadBoy.class, BadGirl.class); 333 checkBoy((BadBoy) result[0]); 334 checkBadGirl2((BadGirl) result[1]); 335 336 t = new DbDynamicSqlTemplate("select b.*, g.* from $T{g}, $T{b} $W{where g, b}").use("g", badGirl).use("b", badBoy); 337 q = new DbOrmQuery(t); 338 result = q.find(BadBoy.class, BadGirl.class); 339 checkBoy((BadBoy) result[0]); 340 checkBadGirl2((BadGirl) result[1]); 341 342 t = new DbDynamicSqlTemplate("select b.*, g.* from $T{g}, $T{b} $W{where b, g}").use("g", badGirl).use("b", badBoy); 343 q = new DbOrmQuery(t); 344 result = q.find(BadBoy.class, BadGirl.class); 345 checkBoy((BadBoy) result[0]); 346 checkBadGirl2((BadGirl) result[1]); 347 348 349 t = new DbDynamicSqlTemplate("select $C{g.fooid}, $C{+b.*} from $T{g}, $T{b} $W{where g, b}").use("g", badGirl).use("b", badBoy); 350 q = new DbOrmQuery(t); 351 result = q.find(BadGirl.class, BadBoy.class); 352 badGirl = (BadGirl) result[0]; 353 checkBoy((BadBoy) result[1]); 354 assertEquals(2, badGirl.fooid.intValue()); 355 assertNull(badGirl.fooname); 356 assertNull(badGirl.foospeciality); 357 358 359 361 t = new DbDynamicSqlTemplate("select $g.fooid * 2 as did, $C{g.fooid} from $T{g} order by $g.fooid").setColumnAliasesType(COLUMN_CODE).use("g", BadGirl.class); 362 q = new DbOrmQuery(t); 363 list = q.list(null, BadGirl.class); assertEquals(3, list.size()); 365 assertEquals(1, ((BadGirl)((Object [])list.get(0))[1]).fooid.intValue()); 366 assertEquals(2, ((BadGirl)((Object [])list.get(1))[1]).fooid.intValue()); 367 assertEquals(3, ((BadGirl)((Object [])list.get(2))[1]).fooid.intValue()); 368 369 list = q.list(Integer .class, BadGirl.class); 370 assertEquals(3, list.size()); 371 assertEquals(2, ((Integer )((Object [])list.get(0))[0]).intValue()); 372 assertEquals(1, ((BadGirl)((Object [])list.get(0))[1]).fooid.intValue()); 373 assertEquals(4, ((Integer )((Object [])list.get(1))[0]).intValue()); 374 assertEquals(2, ((BadGirl)((Object [])list.get(1))[1]).fooid.intValue()); 375 assertEquals(6, ((Integer )((Object [])list.get(2))[0]).intValue()); 376 assertEquals(3, ((BadGirl)((Object [])list.get(2))[1]).fooid.intValue()); 377 378 379 q = new DbOrmQuery("select g.ID * 2 as did, g.ID from Girl g order by g.ID"); 380 list = q.list(Integer .class, BadGirl.class); 381 assertEquals(3, list.size()); 382 assertEquals(2, ((Integer )((Object [])list.get(0))[0]).intValue()); 383 assertEquals(1, ((BadGirl)((Object [])list.get(0))[1]).fooid.intValue()); 384 assertEquals(4, ((Integer )((Object [])list.get(1))[0]).intValue()); 385 assertEquals(2, ((BadGirl)((Object [])list.get(1))[1]).fooid.intValue()); 386 assertEquals(6, ((Integer )((Object [])list.get(2))[0]).intValue()); 387 assertEquals(3, ((BadGirl)((Object [])list.get(2))[1]).fooid.intValue()); 388 389 390 q = new DbOrmQuery(new DbSqlTemplate("select $g.id+$b.id as total, $C{g.*}, $g.id*2 as gdub, $C{b.*}, $g.id/3.0, $g.name from $T{g}, $T{b} where $b.girlId=$g.id"). 391 setColumnAliasesType(COLUMN_CODE).use("b", Boy.class).use("g", Girl.class)); 392 list = q.list(Integer .class, Girl.class, Long .class, Boy.class, Float .class, String .class); 393 assertEquals(1, list.size()); 394 result = (Object []) list.get(0); 395 assertEquals(6, result.length); 396 assertEquals(4, ((Integer ) result[0]).intValue()); 397 checkGirl3((Girl) result[1]); 398 assertEquals(6, ((Long ) result[2]).intValue()); 399 checkBoy((Boy) result[3]); 400 assertEquals(1.0, (Float ) result[4], 0.05); 402 assertEquals("Monica", (String ) result[5]); 403 404 405 q = new DbOrmQuery(new DbSqlTemplate("select $C{g.*}, $C{g.*} from $T{g} where $g.id=3").setColumnAliasesType(COLUMN_CODE).use("g", Girl.class)); 406 list = q.list(Girl.class, Girl.class); 407 assertEquals(1, list.size()); 408 result = (Object []) list.get(0); 409 checkGirl3((Girl) result[0]); 410 checkGirl3((Girl) result[1]); 411 412 q = new DbOrmQuery(new DbSqlTemplate("select $C{g.*}, $g.name from $T{g} where $g.id=3").setColumnAliasesType(COLUMN_CODE).use("g", Girl.class)); 413 list = q.list(Girl.class, String .class); 414 assertEquals(1, list.size()); 415 result = (Object []) list.get(0); 416 checkGirl3((Girl) result[0]); 417 assertEquals("Monica", result[1]); 418 419 q = new DbOrmQuery(new DbSqlTemplate("select $g.name, $C{g.*} from $T{g} where $g.id=3").setColumnAliasesType(COLUMN_CODE).use("g", Girl.class)); 420 list = q.list(String .class, Girl.class); 421 assertEquals(1, list.size()); 422 result = (Object []) list.get(0); 423 checkGirl3((Girl) result[1]); 424 assertEquals("Monica", (String ) result[0]); 425 426 427 428 q.close(); 429 430 432 girl = new Girl(); 433 badGirl = new BadGirl(); 434 badBoy = new BadBoy(); 435 436 DbOrmQuery f = new DbOrmQuery(new DbSqlFind(girl).columnAliases(false), new DbQueryMode().setDebug(true)); 437 assertEquals("select t.NAME, t.SPECIALITY, t.ID from GIRL t where t.ID=0", f.toString()); 438 f.close(); 439 f = new DbOrmQuery(new DbSqlFind(badGirl).columnAliases(false), new DbQueryMode().setDebug(true)); 440 assertEquals("select t.SPECIALITY, t.ID, t.NAME from GIRL t ", f.toString()); 441 f.close(); 442 f = new DbOrmQuery(new DbSqlFind(badBoy).columnAliases(false), new DbQueryMode().setDebug(true)); 443 assertEquals("select t.NAME, t.GIRL_ID, t.ID from BOY t ", f.toString()); 444 f.close(); 445 446 girl.name = "Monica"; 447 badGirl.fooname = "Anna"; 448 badBoy.nejm = "David"; 449 450 f = new DbOrmQuery(new DbSqlFind(girl).columnAliases(false), new DbQueryMode().setDebug(true)); 451 assertEquals("select t.NAME, t.SPECIALITY, t.ID from GIRL t where t.NAME='Monica' and t.ID=0", f.toString()); 452 f.close(); 453 f = new DbOrmQuery(new DbSqlFind(badGirl).columnAliases(false), new DbQueryMode().setDebug(true)); 454 assertEquals("select t.SPECIALITY, t.ID, t.NAME from GIRL t where t.NAME='Anna'", f.toString()); 455 f.close(); 456 f = new DbOrmQuery(new DbSqlFind(badBoy).columnAliases(false), new DbQueryMode().setDebug(true)); 457 assertEquals("select t.NAME, t.GIRL_ID, t.ID from BOY t where t.NAME='David'", f.toString()); 458 f.close(); 459 460 badBoy.nejm = null; 461 badBoy.nejmLike = "Jo%"; 462 f = new DbOrmQuery(new DbSqlFind(badBoy).columnAliases(false), new DbQueryMode().setDebug(true)); 463 assertEquals("select t.NAME, t.GIRL_ID, t.ID from BOY t where t.NAME like 'Jo%'", f.toString()); 464 f.close(); 465 badBoy.ajdiGreaterEqual = Integer.valueOf(3); 466 f = new DbOrmQuery(new DbSqlFind(badBoy).columnAliases(false), new DbQueryMode().setDebug(true)); 467 assertEquals("select t.NAME, t.GIRL_ID, t.ID from BOY t where t.ID>=3 and t.NAME like 'Jo%'", f.toString()); 468 f.close(); 469 470 BadGirlFinder badGirlFinder = new BadGirlFinder(); 471 badGirlFinder.fooidGreaterEqual = Integer.valueOf(2); 472 badGirlFinder.foospecialityLike = "s%"; 473 f = new DbOrmQuery(new DbSqlFind(badGirlFinder).columnAliases(false), new DbQueryMode().setDebug(true)); 474 assertEquals("select t.SPECIALITY, t.ID, t.NAME from GIRL t where t.ID>=2 and t.SPECIALITY like 's%'", f.toString()); 475 f.close(); 476 477 478 480 badGirl = new BadGirl(); 481 badGirl.fooid = Integer.valueOf(2); 482 f = new DbOrmQuery(new DbSqlFind(badGirl)); 483 list = f.listOneAndClose(BadGirl.class); 484 assertTrue(f.isClosed()); 485 assertEquals(1, list.size()); 486 checkBadGirl2((BadGirl) list.get(0)); 487 488 f = new DbOrmQuery(new DbSqlCount(badGirl)); 489 int count = (int) f.executeCountAndClose(); 490 assertEquals(1, count); 491 assertTrue(f.isClosed()); 492 493 f = new DbOrmQuery(new DbSqlDelete(badGirl)); 494 f.executeUpdate(); 495 assertTrue(f.isClosed()); 496 497 f = new DbOrmQuery(new DbSqlFind("select count(*)", badGirl)); 498 count = (int) f.executeCountAndClose(); 499 assertEquals(0, count); 500 assertTrue(f.isClosed()); 501 502 badGirl.fooid = null; 503 f = new DbOrmQuery(new DbSqlFind("select count(*)", badGirl)); 504 count = (int) f.executeCountAndClose(); 505 assertEquals(2, count); 506 assertTrue(f.isClosed()); 507 508 girl = new Girl(); 509 girl.id = 1; 510 girl.name = "A%"; 511 f = new DbOrmQuery("select * from GIRL where id >= :girl.id and name like :girl.name", new DbQueryMode().debug()); 512 f.setBean("girl", girl); 513 assertEquals("select * from GIRL where id >= 1 and name like 'A%'", f.toString()); 514 count = (int) f.executeCountAndClose(); 515 assertEquals(1, count); 516 517 518 519 521 badGirl = new BadGirl(); 522 badGirl.fooid = Integer.valueOf(1); 523 badGirl = new DbOrmQuery(new DbSqlFind(badGirl)).findOne(badGirl.getClass()); 524 checkBadGirl1(badGirl); 525 526 badGirl.fooname = "Ticky"; 527 new DbOrmQuery(new DbSqlUpdate(badGirl, true, new BadGirl(Integer.valueOf(1), null, null))).executeUpdate(); 528 529 badGirl = new BadGirl(); 530 badGirl.fooid = Integer.valueOf(1); 531 badGirl = new DbOrmQuery(new DbSqlFind(badGirl)).findOne(badGirl.getClass()); 532 checkBadGirl1Alt(badGirl); 533 534 badGirl.foospeciality = null; 535 new DbOrmQuery(new DbSqlUpdate(badGirl, false, new BadGirl(Integer.valueOf(1), null, null))).executeUpdate(); 536 537 badGirl = new BadGirl(); 538 badGirl.fooid = Integer.valueOf(1); 539 badGirl = new DbOrmQuery(new DbSqlFind(badGirl)).findOne(badGirl.getClass()); 540 checkBadGirl1Alt2(badGirl); 541 542 session.closeSession(); 543 544 } 545 546 548 private void checkGirl1(Girl girl) { 549 assertNotNull(girl); 550 assertEquals(1, girl.id); 551 assertEquals("Anna", girl.name); 552 assertEquals("seduction", girl.speciality); 553 } 554 555 private void checkGirl2(Girl girl) { 556 assertNotNull(girl); 557 assertEquals(2, girl.id); 558 assertEquals("Sandra", girl.name); 559 assertEquals("spying", girl.speciality); 560 } 561 562 private void checkGirl3(Girl girl) { 563 assertNotNull(girl); 564 assertEquals(3, girl.id); 565 assertEquals("Monica", girl.name); 566 assertNull(girl.speciality); 567 } 568 569 private void checkBadGirl1(BadGirl girl) { 570 assertNotNull(girl); 571 assertEquals(1, girl.fooid.intValue()); 572 assertEquals("Anna", girl.fooname); 573 assertEquals("seduction", girl.foospeciality); 574 } 575 private void checkBadGirl1Alt(BadGirl girl) { 576 assertNotNull(girl); 577 assertEquals(1, girl.fooid.intValue()); 578 assertEquals("Ticky", girl.fooname); 579 assertEquals("seduction", girl.foospeciality); 580 } 581 private void checkBadGirl1Alt2(BadGirl girl) { 582 assertNotNull(girl); 583 assertEquals(1, girl.fooid.intValue()); 584 assertEquals("Ticky", girl.fooname); 585 assertNull(girl.foospeciality); 586 } 587 588 589 private void checkBadGirl2(BadGirl girl) { 590 assertNotNull(girl); 591 assertEquals(2, girl.fooid.intValue()); 592 assertEquals("Sandra", girl.fooname); 593 assertEquals("spying", girl.foospeciality); 594 } 595 596 597 private void checkBadGirl3(BadGirl girl) { 598 assertNotNull(girl); 599 assertEquals(3, girl.fooid.intValue()); 600 assertEquals("Monica", girl.fooname); 601 assertNull(girl.foospeciality); 602 } 603 604 605 private void checkBoy(Boy boy) { 606 assertNotNull(boy); 607 assertEquals(1, boy.id); 608 assertEquals("Johny", boy.name); 609 assertEquals(3, boy.girlId); 610 } 611 private void checkBoy(BadBoy boy) { 612 assertNotNull(boy); 613 assertEquals(1, boy.ajdi.intValue()); 614 assertEquals("Johny", boy.nejm); 615 assertEquals(3, boy.girlId.intValue()); 616 } 617 } 618
| Popular Tags
|