@@ -44,6 +44,12 @@ static void assertThrowsWithMessage(String message, Class<? extends Throwable> c
44
44
assertEquals (message , assertThrows (clazz , run ).getMessage ());
45
45
}
46
46
47
+ static void assertThrowsWithMessageMatchRegex (String regex , Class <? extends Throwable > clazz , ThrowingRunnable run ) {
48
+ assertTrue (assertThrows (clazz , run ).getMessage ().matches (regex ));
49
+ }
50
+
51
+ private static final String ASSERT_MESSAGE_REGEX = "\n expected: (.*)\n \\ s*got: (.*)" ;
52
+
47
53
@ Test
48
54
public void assertTestObserver () {
49
55
Flowable <Integer > oi = Flowable .fromIterable (Arrays .asList (1 , 2 ));
@@ -1008,6 +1014,105 @@ public void assertValueAtIndexNoMatch() {
1008
1014
});
1009
1015
}
1010
1016
1017
+ @ Test
1018
+ public void assertValueAtIndexThrowsMessageMatchRegex () {
1019
+ assertThrowsWithMessageMatchRegex (ASSERT_MESSAGE_REGEX , AssertionError .class , () -> {
1020
+ TestObserver <String > to = new TestObserver <>();
1021
+
1022
+ Observable .just ("a" , "b" , "c" ).subscribe (to );
1023
+
1024
+ to .assertValueAt (2 , "b" );
1025
+ });
1026
+ }
1027
+
1028
+ @ Test
1029
+ public void assertValuesCountNoMatch () {
1030
+ assertThrowsWithMessage ("\n expected: 2 [a, b]\n got: 3 [a, b, c]; Value count differs (latch = 0, values = 3, errors = 0, completions = 1)" , AssertionError .class , () -> {
1031
+ TestObserver <String > to = new TestObserver <>();
1032
+
1033
+ Observable .just ("a" , "b" , "c" ).subscribe (to );
1034
+
1035
+ to .assertValues ("a" , "b" );
1036
+ });
1037
+ }
1038
+
1039
+ @ Test
1040
+ public void assertValuesCountThrowsMessageMatchRegex () {
1041
+ assertThrowsWithMessageMatchRegex (ASSERT_MESSAGE_REGEX , AssertionError .class , () -> {
1042
+ TestObserver <String > to = new TestObserver <>();
1043
+
1044
+ Observable .just ("a" , "b" , "c" ).subscribe (to );
1045
+
1046
+ to .assertValues ("a" , "b" );
1047
+ });
1048
+ }
1049
+
1050
+ @ Test
1051
+ public void assertValuesNoMatch () {
1052
+ assertThrowsWithMessage ("\n expected: d (class: String)\n got: c (class: String); Value at position 2 differ (latch = 0, values = 3, errors = 0, completions = 1)" , AssertionError .class , () -> {
1053
+ TestObserver <String > to = new TestObserver <>();
1054
+
1055
+ Observable .just ("a" , "b" , "c" ).subscribe (to );
1056
+
1057
+ to .assertValues ("a" , "b" , "d" );
1058
+ });
1059
+ }
1060
+
1061
+ @ Test
1062
+ public void assertValuesThrowsMessageMatchRegex () {
1063
+ assertThrowsWithMessageMatchRegex (ASSERT_MESSAGE_REGEX , AssertionError .class , () -> {
1064
+ TestObserver <String > to = new TestObserver <>();
1065
+
1066
+ Observable .just ("a" , "b" , "c" ).subscribe (to );
1067
+
1068
+ to .assertValues ("a" , "b" , "d" );
1069
+ });
1070
+ }
1071
+
1072
+ @ Test
1073
+ public void assertValueCountNoMatch () {
1074
+ assertThrowsWithMessage ("\n expected: 2\n got: 3; Value counts differ (latch = 0, values = 3, errors = 0, completions = 1)" , AssertionError .class , () -> {
1075
+ TestObserver <String > to = new TestObserver <>();
1076
+
1077
+ Observable .just ("a" , "b" , "c" ).subscribe (to );
1078
+
1079
+ to .assertValueCount (2 );
1080
+ });
1081
+ }
1082
+
1083
+ @ Test
1084
+ public void assertValueCountThrowsMessageMatchRegex () {
1085
+ assertThrowsWithMessageMatchRegex (ASSERT_MESSAGE_REGEX , AssertionError .class , () -> {
1086
+ TestObserver <String > to = new TestObserver <>();
1087
+
1088
+ Observable .just ("a" , "b" , "c" ).subscribe (to );
1089
+
1090
+ to .assertValueCount (2 );
1091
+ });
1092
+ }
1093
+
1094
+ @ Test
1095
+ public void assertValueSequenceNoMatch () {
1096
+ assertThrowsWithMessage ("\n expected: d (class: String)\n got: c (class: String); Value at position 2 differ (latch = 0, values = 3, errors = 0, completions = 1)" , AssertionError .class , () -> {
1097
+ TestObserver <String > to = new TestObserver <>();
1098
+
1099
+ Observable .just ("a" , "b" , "c" ).subscribe (to );
1100
+
1101
+ to .assertValueSequence (Arrays .asList ("a" , "b" , "d" ));
1102
+ });
1103
+ }
1104
+
1105
+ @ Test
1106
+ public void assertValueSequenceThrowsMessageMatchRegex () {
1107
+ assertThrowsWithMessageMatchRegex (ASSERT_MESSAGE_REGEX , AssertionError .class , () -> {
1108
+ TestObserver <String > to = new TestObserver <>();
1109
+
1110
+ Observable .just ("a" , "b" , "c" ).subscribe (to );
1111
+
1112
+ to .assertValueSequence (Arrays .asList ("a" , "b" , "d" ));
1113
+ });
1114
+ }
1115
+
1011
1116
@ Test
1012
1117
public void assertValueAtIndexInvalidIndex () {
1013
1118
assertThrowsWithMessage ("Index 2 is out of range [0, 2) (latch = 0, values = 2, errors = 0, completions = 1)" , AssertionError .class , () -> {
0 commit comments