|
46 | 46 | import lombok.ToString; |
47 | 47 | import org.apache.fory.Fory; |
48 | 48 | import org.apache.fory.ForyTestBase; |
49 | | -import org.apache.fory.ThreadSafeFory; |
50 | 49 | import org.apache.fory.builder.Generated; |
51 | 50 | import org.apache.fory.config.Language; |
52 | 51 | import org.apache.fory.logging.Logger; |
@@ -402,26 +401,16 @@ public Foo read(MemoryBuffer buffer) { |
402 | 401 |
|
403 | 402 | @Test |
404 | 403 | public void testFooCustomSerializer() { |
405 | | - ThreadSafeFory threadSafeFory = |
406 | | - Fory.builder().withLanguage(Language.JAVA).buildThreadSafeFory(); |
407 | | - Assert.assertThrows( |
408 | | - () -> threadSafeFory.registerSerializer(Foo.class, FooCustomSerializer.class)); |
409 | | - threadSafeFory.registerSerializer(Foo.class, f -> new FooCustomSerializer(f, Foo.class)); |
| 404 | + Fory fory = Fory.builder().withLanguage(Language.JAVA).build(); |
| 405 | + Assert.assertThrows(() -> fory.registerSerializer(Foo.class, FooCustomSerializer.class)); |
| 406 | + fory.registerSerializer(Foo.class, f -> new FooCustomSerializer(f, Foo.class)); |
410 | 407 | final Foo foo = new Foo(); |
411 | 408 | foo.setF1(100); |
412 | 409 |
|
413 | | - threadSafeFory.execute( |
414 | | - fory -> { |
415 | | - Assert.assertEquals(foo, serDe(fory, foo)); |
416 | | - return null; |
417 | | - }); |
418 | | - threadSafeFory.execute( |
419 | | - fory -> { |
420 | | - Assert.assertEquals( |
421 | | - fory.getClassResolver().getSerializer(foo.getClass()).getClass(), |
422 | | - FooCustomSerializer.class); |
423 | | - return null; |
424 | | - }); |
| 410 | + Assert.assertEquals(foo, serDe(fory, foo)); |
| 411 | + Assert.assertEquals( |
| 412 | + fory.getClassResolver().getSerializer(foo.getClass()).getClass(), |
| 413 | + FooCustomSerializer.class); |
425 | 414 | } |
426 | 415 |
|
427 | 416 | interface ITest { |
@@ -467,30 +456,32 @@ public ITest read(MemoryBuffer buffer) { |
467 | 456 |
|
468 | 457 | @Test |
469 | 458 | public void testInterfaceCustomSerializer() { |
470 | | - ThreadSafeFory threadSafeFory = |
471 | | - Fory.builder() |
472 | | - .withLanguage(Language.JAVA) |
473 | | - .requireClassRegistration(false) |
474 | | - .buildThreadSafeFory(); |
475 | | - threadSafeFory.registerSerializer( |
476 | | - ITest.class, f -> new InterfaceCustomSerializer(f, ITest.class)); |
| 459 | + Fory fory = Fory.builder().withLanguage(Language.JAVA).requireClassRegistration(false).build(); |
| 460 | + fory.registerSerializer(ITest.class, new InterfaceCustomSerializer(fory, ITest.class)); |
477 | 461 | final ITest iTest = new ImplTest(); |
478 | 462 | iTest.setF1(100); |
479 | 463 |
|
480 | | - threadSafeFory.execute( |
481 | | - fory -> { |
482 | | - Assert.assertEquals(iTest, serDe(fory, iTest)); |
483 | | - return null; |
484 | | - }); |
485 | | - threadSafeFory.execute( |
486 | | - fory -> { |
487 | | - Assert.assertEquals( |
488 | | - fory.getClassResolver().getSerializer(iTest.getClass()).getClass(), |
489 | | - InterfaceCustomSerializer.class); |
490 | | - return null; |
491 | | - }); |
| 464 | + Assert.assertEquals(iTest, serDe(fory, iTest)); |
| 465 | + Assert.assertEquals( |
| 466 | + fory.getClassResolver().getSerializer(iTest.getClass()).getClass(), |
| 467 | + InterfaceCustomSerializer.class); |
| 468 | + |
| 469 | + fory = Fory.builder().withLanguage(Language.JAVA).requireClassRegistration(false).build(); |
| 470 | + fory.register(ITest.class); |
| 471 | + Assert.assertNotEquals( |
| 472 | + fory.getClassResolver().getSerializer(ImplTest.class).getClass(), |
| 473 | + InterfaceCustomSerializer.class); |
| 474 | + |
| 475 | + fory = Fory.builder().withLanguage(Language.JAVA).requireClassRegistration(false).build(); |
| 476 | + fory.registerSerializer(ITest.class, new InterfaceCustomSerializer(fory, ITest.class)); |
| 477 | + Assert.assertEquals( |
| 478 | + fory.getClassResolver().getSerializer(ImplTest.class).getClass(), |
| 479 | + InterfaceCustomSerializer.class); |
492 | 480 | } |
493 | 481 |
|
| 482 | + @Test |
| 483 | + public void testRegisterAbstractClass() {} |
| 484 | + |
494 | 485 | @Data |
495 | 486 | abstract static class AbsTest { |
496 | 487 | int f1; |
@@ -530,43 +521,22 @@ public AbsTest read(MemoryBuffer buffer) { |
530 | 521 |
|
531 | 522 | @Test |
532 | 523 | public void testAbstractCustomSerializer() { |
533 | | - ThreadSafeFory threadSafeFory = |
534 | | - Fory.builder() |
535 | | - .withLanguage(Language.JAVA) |
536 | | - .requireClassRegistration(false) |
537 | | - .buildThreadSafeFory(); |
538 | | - threadSafeFory.registerSerializer( |
539 | | - AbsTest.class, f -> new AbstractCustomSerializer(f, AbsTest.class)); |
| 524 | + Fory fory = Fory.builder().withLanguage(Language.JAVA).requireClassRegistration(false).build(); |
| 525 | + fory.registerSerializer(AbsTest.class, new AbstractCustomSerializer(fory, AbsTest.class)); |
540 | 526 | final AbsTest absTest = new SubAbsTest(); |
541 | 527 | absTest.setF1(100); |
542 | 528 |
|
543 | | - threadSafeFory.execute( |
544 | | - fory -> { |
545 | | - Assert.assertEquals(absTest, serDe(fory, absTest)); |
546 | | - return null; |
547 | | - }); |
548 | | - threadSafeFory.execute( |
549 | | - fory -> { |
550 | | - Assert.assertEquals( |
551 | | - fory.getClassResolver().getSerializer(absTest.getClass()).getClass(), |
552 | | - AbstractCustomSerializer.class); |
553 | | - return null; |
554 | | - }); |
| 529 | + Assert.assertEquals(absTest, serDe(fory, absTest)); |
| 530 | + Assert.assertEquals( |
| 531 | + fory.getClassResolver().getSerializer(absTest.getClass()).getClass(), |
| 532 | + AbstractCustomSerializer.class); |
555 | 533 |
|
556 | 534 | final AbsTest abs2Test = new Sub2AbsTest(); |
557 | 535 | abs2Test.setF1(100); |
558 | 536 |
|
559 | | - threadSafeFory.execute( |
560 | | - fory -> { |
561 | | - Assert.assertEquals(abs2Test.getF1(), serDe(fory, abs2Test).getF1()); |
562 | | - return null; |
563 | | - }); |
564 | | - threadSafeFory.execute( |
565 | | - fory -> { |
566 | | - Assert.assertEquals( |
567 | | - fory.getClassResolver().getSerializer(abs2Test.getClass()).getClass(), |
568 | | - AbstractCustomSerializer.class); |
569 | | - return null; |
570 | | - }); |
| 537 | + Assert.assertEquals(abs2Test.getF1(), serDe(fory, abs2Test).getF1()); |
| 538 | + Assert.assertEquals( |
| 539 | + fory.getClassResolver().getSerializer(abs2Test.getClass()).getClass(), |
| 540 | + AbstractCustomSerializer.class); |
571 | 541 | } |
572 | 542 | } |
0 commit comments