2
2
3
3
import static org .junit .Assert .assertEquals ;
4
4
import static org .junit .Assert .assertNotEquals ;
5
- import static org .junit .Assert .assertNotNull ;
6
5
import static org .junit .Assert .assertNull ;
7
6
import static org .junit .Assert .assertThrows ;
8
7
import static org .junit .Assert .assertTrue ;
@@ -523,11 +522,9 @@ public void updateListener2Test() {
523
522
.put ("nullAfter" , null )
524
523
.put ("stringKey" , "hello world!" )
525
524
.put ("escapeStringKey" , "h\b e\t llo w\u1234 orld!" )
526
- .put ("intKey" , Long . valueOf ( 42 ) );
525
+ .put ("intKey" , 42 );
527
526
//.put("doubleKey", Double.valueOf(-23.45e67)); PROBLEM WITH DOUBLE CONVERTING TO BIGDECIMAL AFTER JSONOBJECT.TOSTRING
528
527
529
- final JSONObject jsonObject3 = new JSONObject (jsonObject2 .toString ());
530
-
531
528
final JSONObject oldJsonObject2 = new JSONObject (jsonObject2 .toString ());
532
529
533
530
jsonObject1 .addUpdateListenerGlobal (evt -> {
@@ -540,34 +537,81 @@ public void updateListener2Test() {
540
537
});
541
538
542
539
jsonObject1 .addUpdateListener ("trueKey" , evt -> {
543
- assertNull ( evt .getOldValue ());
544
- assertTrue ( "expected \" trueKey \" :true" , Boolean . TRUE . equals ( evt .getNewValue () ));
540
+ assertEquals ( Boolean . valueOf ( true ), evt .getOldValue ());
541
+ assertNull ( evt .getNewValue ());
545
542
});
546
543
jsonObject1 .addUpdateListener ("falseKey" , evt -> {
547
- assertNull ( evt .getOldValue ());
548
- assertTrue ( "expected \" falseKey \" :false" , Boolean . FALSE . equals ( evt .getNewValue () ));
544
+ assertEquals ( Boolean . valueOf ( false ), evt .getOldValue ());
545
+ assertNull ( evt .getNewValue ());
549
546
});
550
547
jsonObject1 .addUpdateListener ("stringKey" , evt -> {
551
- assertNotNull ( evt .getOldValue ());
552
- assertTrue ( "expected \" stringKey \" : \" hello world!\" " , "hello world!" . equals ( evt .getNewValue () ));
548
+ assertEquals ( "CHANGE ME!!!" , evt .getOldValue ());
549
+ assertEquals ( " hello world!" , evt .getNewValue ());
553
550
});
554
551
jsonObject1 .addUpdateListener ("nullKey" , evt -> {
555
- fail ("They are the same" );
552
+ assertNull (evt .getOldValue ());
553
+ assertNull (null , evt .getNewValue ());
554
+ });
555
+ jsonObject1 .addUpdateListener ("nullBefore" , evt -> {
556
+ assertNull (evt .getOldValue ());
557
+ assertEquals ("null" , evt .getNewValue ());
558
+ });
559
+ jsonObject1 .addUpdateListener ("nullAfter" , evt -> {
560
+ assertEquals ("null" , evt .getOldValue ());
561
+ assertEquals (null , evt .getNewValue ());
556
562
});
557
563
jsonObject1 .addUpdateListener ("escapeStringKey" , evt -> {
558
- assertNotNull (evt .getOldValue ());
559
- assertTrue ( "expected \" escapeStringKey \" : \" h\b e\t llo w\u1234 orld!\" " , "h \b e \t llo w \u1234 orld!" . equals ( evt .getNewValue () ));
564
+ assertNull (evt .getOldValue ());
565
+ assertEquals ( " h\b e\t llo w\u1234 orld!" , evt .getNewValue ());
560
566
});
561
567
jsonObject1 .addUpdateListener ("intKey" , evt -> {
562
- assertNotNull (evt .getOldValue ());
563
- assertTrue ( "expected \" intKey \" :42" , Long . valueOf ( "42" ). equals ( evt .getNewValue () ));
568
+ assertNull (evt .getOldValue ());
569
+ assertEquals ( 42 , evt .getNewValue ());
564
570
});
565
571
566
572
assertEquals (jsonObject1 .toString (), oldJsonObject1 .toString ());
567
- assertEquals (jsonObject2 .toString (), oldJsonObject2 .toString ());
568
573
569
574
jsonObject1 .update (jsonObject2 );
570
- jsonObject3 .updateOrRemove (jsonObject2 );
575
+
576
+ assertNotEquals (jsonObject1 .toString (), oldJsonObject1 .toString ());
577
+ assertEquals (jsonObject2 .toString (), oldJsonObject2 .toString ());
578
+
579
+ oldJsonObject1 .addUpdateListener ("trueKey" , evt -> {
580
+ assertEquals (Boolean .valueOf (true ), evt .getOldValue ());
581
+ assertNull (evt .getNewValue ());
582
+ });
583
+ oldJsonObject1 .addUpdateListener ("falseKey" , evt -> {
584
+ assertEquals (Boolean .valueOf (false ), evt .getOldValue ());
585
+ assertNull (evt .getNewValue ());
586
+ });
587
+ oldJsonObject1 .addUpdateListener ("stringKey" , evt -> {
588
+ assertEquals ("CHANGE ME!!!" , evt .getOldValue ());
589
+ assertEquals ("hello world!" , evt .getNewValue ());
590
+ });
591
+ oldJsonObject1 .addUpdateListener ("nullKey" , evt -> {
592
+ assertNull (evt .getOldValue ());
593
+ assertNull (null , evt .getNewValue ());
594
+ });
595
+ oldJsonObject1 .addUpdateListener ("nullBefore" , evt -> {
596
+ assertNull (evt .getOldValue ());
597
+ assertEquals ("null" , evt .getNewValue ());
598
+ });
599
+ oldJsonObject1 .addUpdateListener ("nullAfter" , evt -> {
600
+ assertEquals ("null" , evt .getOldValue ());
601
+ assertEquals (null , evt .getNewValue ());
602
+ });
603
+ oldJsonObject1 .addUpdateListener ("escapeStringKey" , evt -> {
604
+ assertNull (evt .getOldValue ());
605
+ assertEquals ("h\b e\t llo w\u1234 orld!" , evt .getNewValue ());
606
+ });
607
+ oldJsonObject1 .addUpdateListener ("intKey" , evt -> {
608
+ assertNull (evt .getOldValue ());
609
+ assertEquals (42 , evt .getNewValue ());
610
+ });
611
+
612
+ assertEquals (jsonObject2 .toString (), oldJsonObject2 .toString ());
613
+
614
+ oldJsonObject1 .updateOrRemove (oldJsonObject2 );
571
615
572
616
assertNotEquals (jsonObject1 .toString (), oldJsonObject1 .toString ());
573
617
assertEquals (jsonObject2 .toString (), oldJsonObject2 .toString ());
@@ -626,7 +670,7 @@ public void updateOrRemoveDstEmptyTest() {
626
670
}
627
671
628
672
@ Test
629
- public void updateOrRemoveAlltEmptyTest () {
673
+ public void updateOrRemoveAllEmptyTest () {
630
674
try {
631
675
final JSONObject jsonObject1 = new JSONObject ();
632
676
final JSONObject jsonObject2 = new JSONObject ();
@@ -646,4 +690,64 @@ public void updateOrRemoveAlltEmptyTest() {
646
690
fail (ex .getMessage ());
647
691
}
648
692
}
693
+
694
+ @ Test
695
+ public void updateOrRemoveSrcTest () {
696
+ try {
697
+ final JSONObject jsonObject1 = new JSONObject ()
698
+ .put ("stringKey" , "hello world!" );
699
+ final JSONObject jsonObject2 = new JSONObject ();
700
+
701
+ jsonObject1 .addUpdateListenerGlobal (evt -> {
702
+ final Object oldValue = evt .getOldValue ();
703
+ final Object newValue = evt .getNewValue ();
704
+
705
+ assertEquals ("hello world!" , oldValue );
706
+ assertNull (newValue );
707
+ });
708
+
709
+ jsonObject1 .addUpdateListener ("stringKey" , evt -> {
710
+ final Object oldValue = evt .getOldValue ();
711
+ final Object newValue = evt .getNewValue ();
712
+
713
+ assertEquals ("hello world!" , oldValue );
714
+ assertNull (newValue );
715
+ });
716
+
717
+ jsonObject1 .updateOrRemove (jsonObject2 );
718
+ } catch (Exception ex ) {
719
+ ex .printStackTrace ();
720
+ fail (ex .getMessage ());
721
+ }
722
+ }
723
+
724
+ @ Test
725
+ public void updateOrRemoveDstTest () {
726
+ try {
727
+ final JSONObject jsonObject1 = new JSONObject ();
728
+ final JSONObject jsonObject2 = new JSONObject ()
729
+ .put ("stringKey" , "hello world!" );
730
+
731
+ jsonObject1 .addUpdateListenerGlobal (evt -> {
732
+ final Object oldValue = evt .getOldValue ();
733
+ final Object newValue = evt .getNewValue ();
734
+
735
+ assertNull (oldValue );
736
+ assertEquals ("hello world!" , newValue );
737
+ });
738
+
739
+ jsonObject1 .addUpdateListener ("stringKey" , evt -> {
740
+ final Object oldValue = evt .getOldValue ();
741
+ final Object newValue = evt .getNewValue ();
742
+
743
+ assertNull (oldValue );
744
+ assertEquals ("hello world!" , newValue );
745
+ });
746
+
747
+ jsonObject1 .updateOrRemove (jsonObject2 );
748
+ } catch (Exception ex ) {
749
+ ex .printStackTrace ();
750
+ fail (ex .getMessage ());
751
+ }
752
+ }
649
753
}
0 commit comments