@@ -94,37 +94,37 @@ expect_s3_class <- function(object, class, exact = FALSE) {
9494 if (identical(class , NA )) {
9595 if (isS3(object )) {
9696 msg <- sprintf(" Expected %s not to be an S3 object." , act $ lab )
97- return (fail(msg ))
97+ fail(msg )
98+ } else {
99+ pass()
98100 }
99101 } else if (is.character(class )) {
100102 if (! isS3(act $ val )) {
101103 msg <- c(
102104 sprintf(" Expected %s to be an S3 object." , act $ lab ),
103105 sprintf(" Actual OO type: %s." , oo_type(act $ val ))
104106 )
105- return (fail(msg ))
106- } else if (exact ) {
107- if (! identical(class(act $ val ), class )) {
108- msg <- c(
109- sprintf(" Expected %s to have class %s." , act $ lab , exp_lab ),
110- sprintf(" Actual class: %s." , act $ class )
111- )
112- return (fail(msg ))
113- }
107+ fail(msg )
108+ } else if (exact && ! identical(class(act $ val ), class )) {
109+ msg <- c(
110+ sprintf(" Expected %s to have class %s." , act $ lab , exp_lab ),
111+ sprintf(" Actual class: %s." , act $ class )
112+ )
113+ fail(msg )
114+ } else if (! inherits(act $ val , class )) {
115+ msg <- c(
116+ sprintf(" Expected %s to inherit from %s." , act $ lab , exp_lab ),
117+ sprintf(" Actual class: %s." , act $ class )
118+ )
119+ fail(msg )
114120 } else {
115- if (! inherits(act $ val , class )) {
116- msg <- c(
117- sprintf(" Expected %s to inherit from %s." , act $ lab , exp_lab ),
118- sprintf(" Actual class: %s." , act $ class )
119- )
120- return (fail(msg ))
121- }
121+ pass()
122122 }
123123 } else {
124124 stop_input_type(class , c(" a character vector" , " NA" ))
125125 }
126126
127- pass (act $ val )
127+ invisible (act $ val )
128128}
129129
130130# ' @export
@@ -137,29 +137,31 @@ expect_s4_class <- function(object, class) {
137137 if (identical(class , NA )) {
138138 if (isS4(object )) {
139139 msg <- sprintf(" Expected %s not to be an S4 object." , act $ lab )
140- return (fail(msg ))
140+ fail(msg )
141+ } else {
142+ pass()
141143 }
142144 } else if (is.character(class )) {
143145 if (! isS4(act $ val )) {
144146 msg <- c(
145147 sprintf(" Expected %s to be an S4 object." , act $ lab ),
146148 sprintf(" Actual OO type: %s." , oo_type(act $ val ))
147149 )
148- return (fail(msg ))
150+ fail(msg )
151+ } else if (! methods :: is(act $ val , class )) {
152+ msg <- c(
153+ sprintf(" Expected %s to inherit from %s." , act $ lab , exp_lab ),
154+ sprintf(" Actual class: %s." , act $ class )
155+ )
156+ fail(msg )
149157 } else {
150- if (! methods :: is(act $ val , class )) {
151- msg <- c(
152- sprintf(" Expected %s to inherit from %s." , act $ lab , exp_lab ),
153- sprintf(" Actual class: %s." , act $ class )
154- )
155- return (fail(msg ))
156- }
158+ pass()
157159 }
158160 } else {
159161 stop_input_type(class , c(" a character vector" , " NA" ))
160162 }
161163
162- pass (act $ val )
164+ invisible (act $ val )
163165}
164166
165167# ' @export
@@ -173,20 +175,20 @@ expect_r6_class <- function(object, class) {
173175 sprintf(" Expected %s to be an R6 object." , act $ lab ),
174176 sprintf(" Actual OO type: %s." , oo_type(act $ val ))
175177 )
176- return (fail(msg ))
177- }
178-
179- if (! inherits(act $ val , class )) {
178+ fail(msg )
179+ } else if (! inherits(act $ val , class )) {
180180 act_class <- format_class(class(act $ val ))
181181 exp_class <- format_class(class )
182182 msg <- c(
183183 sprintf(" Expected %s to inherit from %s." , act $ lab , exp_class ),
184184 sprintf(" Actual class: %s." , act_class )
185185 )
186- return (fail(msg ))
186+ fail(msg )
187+ } else {
188+ pass()
187189 }
188190
189- pass (act $ val )
191+ invisible (act $ val )
190192}
191193
192194# ' @export
@@ -204,10 +206,8 @@ expect_s7_class <- function(object, class) {
204206 sprintf(" Expected %s to be an S7 object." , act $ lab ),
205207 sprintf(" Actual OO type: %s." , oo_type(act $ val ))
206208 )
207- return (fail(msg ))
208- }
209-
210- if (! S7 :: S7_inherits(object , class )) {
209+ fail(msg )
210+ } else if (! S7 :: S7_inherits(object , class )) {
211211 exp_class <- attr(class , " name" , TRUE )
212212 act_class <- setdiff(base :: class(object ), " S7_object" )
213213 act_class_desc <- paste0(" <" , act_class , " >" , collapse = " /" )
@@ -216,10 +216,12 @@ expect_s7_class <- function(object, class) {
216216 sprintf(" Expected %s to inherit from <%s>." , act $ lab , exp_class ),
217217 sprintf(" Actual class: %s." , act_class_desc )
218218 )
219- return (fail(msg ))
219+ fail(msg )
220+ } else {
221+ pass()
220222 }
221223
222- pass (act $ val )
224+ invisible (act $ val )
223225}
224226
225227# ' Do you expect to inherit from this class?
@@ -260,9 +262,11 @@ expect_is <- function(object, class, info = NULL, label = NULL) {
260262 exp_lab ,
261263 act $ class
262264 )
263- return (fail(msg , info = info ))
265+ fail(msg , info = info )
266+ } else {
267+ pass()
264268 }
265- pass (act $ val )
269+ invisible (act $ val )
266270}
267271
268272# Helpers ----------------------------------------------------------------------
0 commit comments