vendor/github.com/stretchr/testify/assert/assertion_forward.go
changeset 242 2a9ec03fe5a1
child 256 6d9efbef00a9
equal deleted inserted replaced
241:e77dad242f4c 242:2a9ec03fe5a1
       
     1 /*
       
     2 * CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen
       
     3 * THIS FILE MUST NOT BE EDITED BY HAND
       
     4  */
       
     5 
       
     6 package assert
       
     7 
       
     8 import (
       
     9 	http "net/http"
       
    10 	url "net/url"
       
    11 	time "time"
       
    12 )
       
    13 
       
    14 // Condition uses a Comparison to assert a complex condition.
       
    15 func (a *Assertions) Condition(comp Comparison, msgAndArgs ...interface{}) bool {
       
    16 	if h, ok := a.t.(tHelper); ok {
       
    17 		h.Helper()
       
    18 	}
       
    19 	return Condition(a.t, comp, msgAndArgs...)
       
    20 }
       
    21 
       
    22 // Conditionf uses a Comparison to assert a complex condition.
       
    23 func (a *Assertions) Conditionf(comp Comparison, msg string, args ...interface{}) bool {
       
    24 	if h, ok := a.t.(tHelper); ok {
       
    25 		h.Helper()
       
    26 	}
       
    27 	return Conditionf(a.t, comp, msg, args...)
       
    28 }
       
    29 
       
    30 // Contains asserts that the specified string, list(array, slice...) or map contains the
       
    31 // specified substring or element.
       
    32 //
       
    33 //    a.Contains("Hello World", "World")
       
    34 //    a.Contains(["Hello", "World"], "World")
       
    35 //    a.Contains({"Hello": "World"}, "Hello")
       
    36 func (a *Assertions) Contains(s interface{}, contains interface{}, msgAndArgs ...interface{}) bool {
       
    37 	if h, ok := a.t.(tHelper); ok {
       
    38 		h.Helper()
       
    39 	}
       
    40 	return Contains(a.t, s, contains, msgAndArgs...)
       
    41 }
       
    42 
       
    43 // Containsf asserts that the specified string, list(array, slice...) or map contains the
       
    44 // specified substring or element.
       
    45 //
       
    46 //    a.Containsf("Hello World", "World", "error message %s", "formatted")
       
    47 //    a.Containsf(["Hello", "World"], "World", "error message %s", "formatted")
       
    48 //    a.Containsf({"Hello": "World"}, "Hello", "error message %s", "formatted")
       
    49 func (a *Assertions) Containsf(s interface{}, contains interface{}, msg string, args ...interface{}) bool {
       
    50 	if h, ok := a.t.(tHelper); ok {
       
    51 		h.Helper()
       
    52 	}
       
    53 	return Containsf(a.t, s, contains, msg, args...)
       
    54 }
       
    55 
       
    56 // DirExists checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists.
       
    57 func (a *Assertions) DirExists(path string, msgAndArgs ...interface{}) bool {
       
    58 	if h, ok := a.t.(tHelper); ok {
       
    59 		h.Helper()
       
    60 	}
       
    61 	return DirExists(a.t, path, msgAndArgs...)
       
    62 }
       
    63 
       
    64 // DirExistsf checks whether a directory exists in the given path. It also fails if the path is a file rather a directory or there is an error checking whether it exists.
       
    65 func (a *Assertions) DirExistsf(path string, msg string, args ...interface{}) bool {
       
    66 	if h, ok := a.t.(tHelper); ok {
       
    67 		h.Helper()
       
    68 	}
       
    69 	return DirExistsf(a.t, path, msg, args...)
       
    70 }
       
    71 
       
    72 // ElementsMatch asserts that the specified listA(array, slice...) is equal to specified
       
    73 // listB(array, slice...) ignoring the order of the elements. If there are duplicate elements,
       
    74 // the number of appearances of each of them in both lists should match.
       
    75 //
       
    76 // a.ElementsMatch([1, 3, 2, 3], [1, 3, 3, 2])
       
    77 func (a *Assertions) ElementsMatch(listA interface{}, listB interface{}, msgAndArgs ...interface{}) bool {
       
    78 	if h, ok := a.t.(tHelper); ok {
       
    79 		h.Helper()
       
    80 	}
       
    81 	return ElementsMatch(a.t, listA, listB, msgAndArgs...)
       
    82 }
       
    83 
       
    84 // ElementsMatchf asserts that the specified listA(array, slice...) is equal to specified
       
    85 // listB(array, slice...) ignoring the order of the elements. If there are duplicate elements,
       
    86 // the number of appearances of each of them in both lists should match.
       
    87 //
       
    88 // a.ElementsMatchf([1, 3, 2, 3], [1, 3, 3, 2], "error message %s", "formatted")
       
    89 func (a *Assertions) ElementsMatchf(listA interface{}, listB interface{}, msg string, args ...interface{}) bool {
       
    90 	if h, ok := a.t.(tHelper); ok {
       
    91 		h.Helper()
       
    92 	}
       
    93 	return ElementsMatchf(a.t, listA, listB, msg, args...)
       
    94 }
       
    95 
       
    96 // Empty asserts that the specified object is empty.  I.e. nil, "", false, 0 or either
       
    97 // a slice or a channel with len == 0.
       
    98 //
       
    99 //  a.Empty(obj)
       
   100 func (a *Assertions) Empty(object interface{}, msgAndArgs ...interface{}) bool {
       
   101 	if h, ok := a.t.(tHelper); ok {
       
   102 		h.Helper()
       
   103 	}
       
   104 	return Empty(a.t, object, msgAndArgs...)
       
   105 }
       
   106 
       
   107 // Emptyf asserts that the specified object is empty.  I.e. nil, "", false, 0 or either
       
   108 // a slice or a channel with len == 0.
       
   109 //
       
   110 //  a.Emptyf(obj, "error message %s", "formatted")
       
   111 func (a *Assertions) Emptyf(object interface{}, msg string, args ...interface{}) bool {
       
   112 	if h, ok := a.t.(tHelper); ok {
       
   113 		h.Helper()
       
   114 	}
       
   115 	return Emptyf(a.t, object, msg, args...)
       
   116 }
       
   117 
       
   118 // Equal asserts that two objects are equal.
       
   119 //
       
   120 //    a.Equal(123, 123)
       
   121 //
       
   122 // Pointer variable equality is determined based on the equality of the
       
   123 // referenced values (as opposed to the memory addresses). Function equality
       
   124 // cannot be determined and will always fail.
       
   125 func (a *Assertions) Equal(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool {
       
   126 	if h, ok := a.t.(tHelper); ok {
       
   127 		h.Helper()
       
   128 	}
       
   129 	return Equal(a.t, expected, actual, msgAndArgs...)
       
   130 }
       
   131 
       
   132 // EqualError asserts that a function returned an error (i.e. not `nil`)
       
   133 // and that it is equal to the provided error.
       
   134 //
       
   135 //   actualObj, err := SomeFunction()
       
   136 //   a.EqualError(err,  expectedErrorString)
       
   137 func (a *Assertions) EqualError(theError error, errString string, msgAndArgs ...interface{}) bool {
       
   138 	if h, ok := a.t.(tHelper); ok {
       
   139 		h.Helper()
       
   140 	}
       
   141 	return EqualError(a.t, theError, errString, msgAndArgs...)
       
   142 }
       
   143 
       
   144 // EqualErrorf asserts that a function returned an error (i.e. not `nil`)
       
   145 // and that it is equal to the provided error.
       
   146 //
       
   147 //   actualObj, err := SomeFunction()
       
   148 //   a.EqualErrorf(err,  expectedErrorString, "error message %s", "formatted")
       
   149 func (a *Assertions) EqualErrorf(theError error, errString string, msg string, args ...interface{}) bool {
       
   150 	if h, ok := a.t.(tHelper); ok {
       
   151 		h.Helper()
       
   152 	}
       
   153 	return EqualErrorf(a.t, theError, errString, msg, args...)
       
   154 }
       
   155 
       
   156 // EqualValues asserts that two objects are equal or convertable to the same types
       
   157 // and equal.
       
   158 //
       
   159 //    a.EqualValues(uint32(123), int32(123))
       
   160 func (a *Assertions) EqualValues(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool {
       
   161 	if h, ok := a.t.(tHelper); ok {
       
   162 		h.Helper()
       
   163 	}
       
   164 	return EqualValues(a.t, expected, actual, msgAndArgs...)
       
   165 }
       
   166 
       
   167 // EqualValuesf asserts that two objects are equal or convertable to the same types
       
   168 // and equal.
       
   169 //
       
   170 //    a.EqualValuesf(uint32(123, "error message %s", "formatted"), int32(123))
       
   171 func (a *Assertions) EqualValuesf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool {
       
   172 	if h, ok := a.t.(tHelper); ok {
       
   173 		h.Helper()
       
   174 	}
       
   175 	return EqualValuesf(a.t, expected, actual, msg, args...)
       
   176 }
       
   177 
       
   178 // Equalf asserts that two objects are equal.
       
   179 //
       
   180 //    a.Equalf(123, 123, "error message %s", "formatted")
       
   181 //
       
   182 // Pointer variable equality is determined based on the equality of the
       
   183 // referenced values (as opposed to the memory addresses). Function equality
       
   184 // cannot be determined and will always fail.
       
   185 func (a *Assertions) Equalf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool {
       
   186 	if h, ok := a.t.(tHelper); ok {
       
   187 		h.Helper()
       
   188 	}
       
   189 	return Equalf(a.t, expected, actual, msg, args...)
       
   190 }
       
   191 
       
   192 // Error asserts that a function returned an error (i.e. not `nil`).
       
   193 //
       
   194 //   actualObj, err := SomeFunction()
       
   195 //   if a.Error(err) {
       
   196 // 	   assert.Equal(t, expectedError, err)
       
   197 //   }
       
   198 func (a *Assertions) Error(err error, msgAndArgs ...interface{}) bool {
       
   199 	if h, ok := a.t.(tHelper); ok {
       
   200 		h.Helper()
       
   201 	}
       
   202 	return Error(a.t, err, msgAndArgs...)
       
   203 }
       
   204 
       
   205 // Errorf asserts that a function returned an error (i.e. not `nil`).
       
   206 //
       
   207 //   actualObj, err := SomeFunction()
       
   208 //   if a.Errorf(err, "error message %s", "formatted") {
       
   209 // 	   assert.Equal(t, expectedErrorf, err)
       
   210 //   }
       
   211 func (a *Assertions) Errorf(err error, msg string, args ...interface{}) bool {
       
   212 	if h, ok := a.t.(tHelper); ok {
       
   213 		h.Helper()
       
   214 	}
       
   215 	return Errorf(a.t, err, msg, args...)
       
   216 }
       
   217 
       
   218 // Exactly asserts that two objects are equal in value and type.
       
   219 //
       
   220 //    a.Exactly(int32(123), int64(123))
       
   221 func (a *Assertions) Exactly(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool {
       
   222 	if h, ok := a.t.(tHelper); ok {
       
   223 		h.Helper()
       
   224 	}
       
   225 	return Exactly(a.t, expected, actual, msgAndArgs...)
       
   226 }
       
   227 
       
   228 // Exactlyf asserts that two objects are equal in value and type.
       
   229 //
       
   230 //    a.Exactlyf(int32(123, "error message %s", "formatted"), int64(123))
       
   231 func (a *Assertions) Exactlyf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool {
       
   232 	if h, ok := a.t.(tHelper); ok {
       
   233 		h.Helper()
       
   234 	}
       
   235 	return Exactlyf(a.t, expected, actual, msg, args...)
       
   236 }
       
   237 
       
   238 // Fail reports a failure through
       
   239 func (a *Assertions) Fail(failureMessage string, msgAndArgs ...interface{}) bool {
       
   240 	if h, ok := a.t.(tHelper); ok {
       
   241 		h.Helper()
       
   242 	}
       
   243 	return Fail(a.t, failureMessage, msgAndArgs...)
       
   244 }
       
   245 
       
   246 // FailNow fails test
       
   247 func (a *Assertions) FailNow(failureMessage string, msgAndArgs ...interface{}) bool {
       
   248 	if h, ok := a.t.(tHelper); ok {
       
   249 		h.Helper()
       
   250 	}
       
   251 	return FailNow(a.t, failureMessage, msgAndArgs...)
       
   252 }
       
   253 
       
   254 // FailNowf fails test
       
   255 func (a *Assertions) FailNowf(failureMessage string, msg string, args ...interface{}) bool {
       
   256 	if h, ok := a.t.(tHelper); ok {
       
   257 		h.Helper()
       
   258 	}
       
   259 	return FailNowf(a.t, failureMessage, msg, args...)
       
   260 }
       
   261 
       
   262 // Failf reports a failure through
       
   263 func (a *Assertions) Failf(failureMessage string, msg string, args ...interface{}) bool {
       
   264 	if h, ok := a.t.(tHelper); ok {
       
   265 		h.Helper()
       
   266 	}
       
   267 	return Failf(a.t, failureMessage, msg, args...)
       
   268 }
       
   269 
       
   270 // False asserts that the specified value is false.
       
   271 //
       
   272 //    a.False(myBool)
       
   273 func (a *Assertions) False(value bool, msgAndArgs ...interface{}) bool {
       
   274 	if h, ok := a.t.(tHelper); ok {
       
   275 		h.Helper()
       
   276 	}
       
   277 	return False(a.t, value, msgAndArgs...)
       
   278 }
       
   279 
       
   280 // Falsef asserts that the specified value is false.
       
   281 //
       
   282 //    a.Falsef(myBool, "error message %s", "formatted")
       
   283 func (a *Assertions) Falsef(value bool, msg string, args ...interface{}) bool {
       
   284 	if h, ok := a.t.(tHelper); ok {
       
   285 		h.Helper()
       
   286 	}
       
   287 	return Falsef(a.t, value, msg, args...)
       
   288 }
       
   289 
       
   290 // FileExists checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file.
       
   291 func (a *Assertions) FileExists(path string, msgAndArgs ...interface{}) bool {
       
   292 	if h, ok := a.t.(tHelper); ok {
       
   293 		h.Helper()
       
   294 	}
       
   295 	return FileExists(a.t, path, msgAndArgs...)
       
   296 }
       
   297 
       
   298 // FileExistsf checks whether a file exists in the given path. It also fails if the path points to a directory or there is an error when trying to check the file.
       
   299 func (a *Assertions) FileExistsf(path string, msg string, args ...interface{}) bool {
       
   300 	if h, ok := a.t.(tHelper); ok {
       
   301 		h.Helper()
       
   302 	}
       
   303 	return FileExistsf(a.t, path, msg, args...)
       
   304 }
       
   305 
       
   306 // HTTPBodyContains asserts that a specified handler returns a
       
   307 // body that contains a string.
       
   308 //
       
   309 //  a.HTTPBodyContains(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky")
       
   310 //
       
   311 // Returns whether the assertion was successful (true) or not (false).
       
   312 func (a *Assertions) HTTPBodyContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool {
       
   313 	if h, ok := a.t.(tHelper); ok {
       
   314 		h.Helper()
       
   315 	}
       
   316 	return HTTPBodyContains(a.t, handler, method, url, values, str, msgAndArgs...)
       
   317 }
       
   318 
       
   319 // HTTPBodyContainsf asserts that a specified handler returns a
       
   320 // body that contains a string.
       
   321 //
       
   322 //  a.HTTPBodyContainsf(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted")
       
   323 //
       
   324 // Returns whether the assertion was successful (true) or not (false).
       
   325 func (a *Assertions) HTTPBodyContainsf(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool {
       
   326 	if h, ok := a.t.(tHelper); ok {
       
   327 		h.Helper()
       
   328 	}
       
   329 	return HTTPBodyContainsf(a.t, handler, method, url, values, str, msg, args...)
       
   330 }
       
   331 
       
   332 // HTTPBodyNotContains asserts that a specified handler returns a
       
   333 // body that does not contain a string.
       
   334 //
       
   335 //  a.HTTPBodyNotContains(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky")
       
   336 //
       
   337 // Returns whether the assertion was successful (true) or not (false).
       
   338 func (a *Assertions) HTTPBodyNotContains(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msgAndArgs ...interface{}) bool {
       
   339 	if h, ok := a.t.(tHelper); ok {
       
   340 		h.Helper()
       
   341 	}
       
   342 	return HTTPBodyNotContains(a.t, handler, method, url, values, str, msgAndArgs...)
       
   343 }
       
   344 
       
   345 // HTTPBodyNotContainsf asserts that a specified handler returns a
       
   346 // body that does not contain a string.
       
   347 //
       
   348 //  a.HTTPBodyNotContainsf(myHandler, "GET", "www.google.com", nil, "I'm Feeling Lucky", "error message %s", "formatted")
       
   349 //
       
   350 // Returns whether the assertion was successful (true) or not (false).
       
   351 func (a *Assertions) HTTPBodyNotContainsf(handler http.HandlerFunc, method string, url string, values url.Values, str interface{}, msg string, args ...interface{}) bool {
       
   352 	if h, ok := a.t.(tHelper); ok {
       
   353 		h.Helper()
       
   354 	}
       
   355 	return HTTPBodyNotContainsf(a.t, handler, method, url, values, str, msg, args...)
       
   356 }
       
   357 
       
   358 // HTTPError asserts that a specified handler returns an error status code.
       
   359 //
       
   360 //  a.HTTPError(myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}}
       
   361 //
       
   362 // Returns whether the assertion was successful (true) or not (false).
       
   363 func (a *Assertions) HTTPError(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) bool {
       
   364 	if h, ok := a.t.(tHelper); ok {
       
   365 		h.Helper()
       
   366 	}
       
   367 	return HTTPError(a.t, handler, method, url, values, msgAndArgs...)
       
   368 }
       
   369 
       
   370 // HTTPErrorf asserts that a specified handler returns an error status code.
       
   371 //
       
   372 //  a.HTTPErrorf(myHandler, "POST", "/a/b/c", url.Values{"a": []string{"b", "c"}}
       
   373 //
       
   374 // Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false).
       
   375 func (a *Assertions) HTTPErrorf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool {
       
   376 	if h, ok := a.t.(tHelper); ok {
       
   377 		h.Helper()
       
   378 	}
       
   379 	return HTTPErrorf(a.t, handler, method, url, values, msg, args...)
       
   380 }
       
   381 
       
   382 // HTTPRedirect asserts that a specified handler returns a redirect status code.
       
   383 //
       
   384 //  a.HTTPRedirect(myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}}
       
   385 //
       
   386 // Returns whether the assertion was successful (true) or not (false).
       
   387 func (a *Assertions) HTTPRedirect(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) bool {
       
   388 	if h, ok := a.t.(tHelper); ok {
       
   389 		h.Helper()
       
   390 	}
       
   391 	return HTTPRedirect(a.t, handler, method, url, values, msgAndArgs...)
       
   392 }
       
   393 
       
   394 // HTTPRedirectf asserts that a specified handler returns a redirect status code.
       
   395 //
       
   396 //  a.HTTPRedirectf(myHandler, "GET", "/a/b/c", url.Values{"a": []string{"b", "c"}}
       
   397 //
       
   398 // Returns whether the assertion was successful (true, "error message %s", "formatted") or not (false).
       
   399 func (a *Assertions) HTTPRedirectf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool {
       
   400 	if h, ok := a.t.(tHelper); ok {
       
   401 		h.Helper()
       
   402 	}
       
   403 	return HTTPRedirectf(a.t, handler, method, url, values, msg, args...)
       
   404 }
       
   405 
       
   406 // HTTPSuccess asserts that a specified handler returns a success status code.
       
   407 //
       
   408 //  a.HTTPSuccess(myHandler, "POST", "http://www.google.com", nil)
       
   409 //
       
   410 // Returns whether the assertion was successful (true) or not (false).
       
   411 func (a *Assertions) HTTPSuccess(handler http.HandlerFunc, method string, url string, values url.Values, msgAndArgs ...interface{}) bool {
       
   412 	if h, ok := a.t.(tHelper); ok {
       
   413 		h.Helper()
       
   414 	}
       
   415 	return HTTPSuccess(a.t, handler, method, url, values, msgAndArgs...)
       
   416 }
       
   417 
       
   418 // HTTPSuccessf asserts that a specified handler returns a success status code.
       
   419 //
       
   420 //  a.HTTPSuccessf(myHandler, "POST", "http://www.google.com", nil, "error message %s", "formatted")
       
   421 //
       
   422 // Returns whether the assertion was successful (true) or not (false).
       
   423 func (a *Assertions) HTTPSuccessf(handler http.HandlerFunc, method string, url string, values url.Values, msg string, args ...interface{}) bool {
       
   424 	if h, ok := a.t.(tHelper); ok {
       
   425 		h.Helper()
       
   426 	}
       
   427 	return HTTPSuccessf(a.t, handler, method, url, values, msg, args...)
       
   428 }
       
   429 
       
   430 // Implements asserts that an object is implemented by the specified interface.
       
   431 //
       
   432 //    a.Implements((*MyInterface)(nil), new(MyObject))
       
   433 func (a *Assertions) Implements(interfaceObject interface{}, object interface{}, msgAndArgs ...interface{}) bool {
       
   434 	if h, ok := a.t.(tHelper); ok {
       
   435 		h.Helper()
       
   436 	}
       
   437 	return Implements(a.t, interfaceObject, object, msgAndArgs...)
       
   438 }
       
   439 
       
   440 // Implementsf asserts that an object is implemented by the specified interface.
       
   441 //
       
   442 //    a.Implementsf((*MyInterface, "error message %s", "formatted")(nil), new(MyObject))
       
   443 func (a *Assertions) Implementsf(interfaceObject interface{}, object interface{}, msg string, args ...interface{}) bool {
       
   444 	if h, ok := a.t.(tHelper); ok {
       
   445 		h.Helper()
       
   446 	}
       
   447 	return Implementsf(a.t, interfaceObject, object, msg, args...)
       
   448 }
       
   449 
       
   450 // InDelta asserts that the two numerals are within delta of each other.
       
   451 //
       
   452 // 	 a.InDelta(math.Pi, (22 / 7.0), 0.01)
       
   453 func (a *Assertions) InDelta(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool {
       
   454 	if h, ok := a.t.(tHelper); ok {
       
   455 		h.Helper()
       
   456 	}
       
   457 	return InDelta(a.t, expected, actual, delta, msgAndArgs...)
       
   458 }
       
   459 
       
   460 // InDeltaMapValues is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys.
       
   461 func (a *Assertions) InDeltaMapValues(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool {
       
   462 	if h, ok := a.t.(tHelper); ok {
       
   463 		h.Helper()
       
   464 	}
       
   465 	return InDeltaMapValues(a.t, expected, actual, delta, msgAndArgs...)
       
   466 }
       
   467 
       
   468 // InDeltaMapValuesf is the same as InDelta, but it compares all values between two maps. Both maps must have exactly the same keys.
       
   469 func (a *Assertions) InDeltaMapValuesf(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool {
       
   470 	if h, ok := a.t.(tHelper); ok {
       
   471 		h.Helper()
       
   472 	}
       
   473 	return InDeltaMapValuesf(a.t, expected, actual, delta, msg, args...)
       
   474 }
       
   475 
       
   476 // InDeltaSlice is the same as InDelta, except it compares two slices.
       
   477 func (a *Assertions) InDeltaSlice(expected interface{}, actual interface{}, delta float64, msgAndArgs ...interface{}) bool {
       
   478 	if h, ok := a.t.(tHelper); ok {
       
   479 		h.Helper()
       
   480 	}
       
   481 	return InDeltaSlice(a.t, expected, actual, delta, msgAndArgs...)
       
   482 }
       
   483 
       
   484 // InDeltaSlicef is the same as InDelta, except it compares two slices.
       
   485 func (a *Assertions) InDeltaSlicef(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool {
       
   486 	if h, ok := a.t.(tHelper); ok {
       
   487 		h.Helper()
       
   488 	}
       
   489 	return InDeltaSlicef(a.t, expected, actual, delta, msg, args...)
       
   490 }
       
   491 
       
   492 // InDeltaf asserts that the two numerals are within delta of each other.
       
   493 //
       
   494 // 	 a.InDeltaf(math.Pi, (22 / 7.0, "error message %s", "formatted"), 0.01)
       
   495 func (a *Assertions) InDeltaf(expected interface{}, actual interface{}, delta float64, msg string, args ...interface{}) bool {
       
   496 	if h, ok := a.t.(tHelper); ok {
       
   497 		h.Helper()
       
   498 	}
       
   499 	return InDeltaf(a.t, expected, actual, delta, msg, args...)
       
   500 }
       
   501 
       
   502 // InEpsilon asserts that expected and actual have a relative error less than epsilon
       
   503 func (a *Assertions) InEpsilon(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool {
       
   504 	if h, ok := a.t.(tHelper); ok {
       
   505 		h.Helper()
       
   506 	}
       
   507 	return InEpsilon(a.t, expected, actual, epsilon, msgAndArgs...)
       
   508 }
       
   509 
       
   510 // InEpsilonSlice is the same as InEpsilon, except it compares each value from two slices.
       
   511 func (a *Assertions) InEpsilonSlice(expected interface{}, actual interface{}, epsilon float64, msgAndArgs ...interface{}) bool {
       
   512 	if h, ok := a.t.(tHelper); ok {
       
   513 		h.Helper()
       
   514 	}
       
   515 	return InEpsilonSlice(a.t, expected, actual, epsilon, msgAndArgs...)
       
   516 }
       
   517 
       
   518 // InEpsilonSlicef is the same as InEpsilon, except it compares each value from two slices.
       
   519 func (a *Assertions) InEpsilonSlicef(expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) bool {
       
   520 	if h, ok := a.t.(tHelper); ok {
       
   521 		h.Helper()
       
   522 	}
       
   523 	return InEpsilonSlicef(a.t, expected, actual, epsilon, msg, args...)
       
   524 }
       
   525 
       
   526 // InEpsilonf asserts that expected and actual have a relative error less than epsilon
       
   527 func (a *Assertions) InEpsilonf(expected interface{}, actual interface{}, epsilon float64, msg string, args ...interface{}) bool {
       
   528 	if h, ok := a.t.(tHelper); ok {
       
   529 		h.Helper()
       
   530 	}
       
   531 	return InEpsilonf(a.t, expected, actual, epsilon, msg, args...)
       
   532 }
       
   533 
       
   534 // IsType asserts that the specified objects are of the same type.
       
   535 func (a *Assertions) IsType(expectedType interface{}, object interface{}, msgAndArgs ...interface{}) bool {
       
   536 	if h, ok := a.t.(tHelper); ok {
       
   537 		h.Helper()
       
   538 	}
       
   539 	return IsType(a.t, expectedType, object, msgAndArgs...)
       
   540 }
       
   541 
       
   542 // IsTypef asserts that the specified objects are of the same type.
       
   543 func (a *Assertions) IsTypef(expectedType interface{}, object interface{}, msg string, args ...interface{}) bool {
       
   544 	if h, ok := a.t.(tHelper); ok {
       
   545 		h.Helper()
       
   546 	}
       
   547 	return IsTypef(a.t, expectedType, object, msg, args...)
       
   548 }
       
   549 
       
   550 // JSONEq asserts that two JSON strings are equivalent.
       
   551 //
       
   552 //  a.JSONEq(`{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`)
       
   553 func (a *Assertions) JSONEq(expected string, actual string, msgAndArgs ...interface{}) bool {
       
   554 	if h, ok := a.t.(tHelper); ok {
       
   555 		h.Helper()
       
   556 	}
       
   557 	return JSONEq(a.t, expected, actual, msgAndArgs...)
       
   558 }
       
   559 
       
   560 // JSONEqf asserts that two JSON strings are equivalent.
       
   561 //
       
   562 //  a.JSONEqf(`{"hello": "world", "foo": "bar"}`, `{"foo": "bar", "hello": "world"}`, "error message %s", "formatted")
       
   563 func (a *Assertions) JSONEqf(expected string, actual string, msg string, args ...interface{}) bool {
       
   564 	if h, ok := a.t.(tHelper); ok {
       
   565 		h.Helper()
       
   566 	}
       
   567 	return JSONEqf(a.t, expected, actual, msg, args...)
       
   568 }
       
   569 
       
   570 // Len asserts that the specified object has specific length.
       
   571 // Len also fails if the object has a type that len() not accept.
       
   572 //
       
   573 //    a.Len(mySlice, 3)
       
   574 func (a *Assertions) Len(object interface{}, length int, msgAndArgs ...interface{}) bool {
       
   575 	if h, ok := a.t.(tHelper); ok {
       
   576 		h.Helper()
       
   577 	}
       
   578 	return Len(a.t, object, length, msgAndArgs...)
       
   579 }
       
   580 
       
   581 // Lenf asserts that the specified object has specific length.
       
   582 // Lenf also fails if the object has a type that len() not accept.
       
   583 //
       
   584 //    a.Lenf(mySlice, 3, "error message %s", "formatted")
       
   585 func (a *Assertions) Lenf(object interface{}, length int, msg string, args ...interface{}) bool {
       
   586 	if h, ok := a.t.(tHelper); ok {
       
   587 		h.Helper()
       
   588 	}
       
   589 	return Lenf(a.t, object, length, msg, args...)
       
   590 }
       
   591 
       
   592 // Nil asserts that the specified object is nil.
       
   593 //
       
   594 //    a.Nil(err)
       
   595 func (a *Assertions) Nil(object interface{}, msgAndArgs ...interface{}) bool {
       
   596 	if h, ok := a.t.(tHelper); ok {
       
   597 		h.Helper()
       
   598 	}
       
   599 	return Nil(a.t, object, msgAndArgs...)
       
   600 }
       
   601 
       
   602 // Nilf asserts that the specified object is nil.
       
   603 //
       
   604 //    a.Nilf(err, "error message %s", "formatted")
       
   605 func (a *Assertions) Nilf(object interface{}, msg string, args ...interface{}) bool {
       
   606 	if h, ok := a.t.(tHelper); ok {
       
   607 		h.Helper()
       
   608 	}
       
   609 	return Nilf(a.t, object, msg, args...)
       
   610 }
       
   611 
       
   612 // NoError asserts that a function returned no error (i.e. `nil`).
       
   613 //
       
   614 //   actualObj, err := SomeFunction()
       
   615 //   if a.NoError(err) {
       
   616 // 	   assert.Equal(t, expectedObj, actualObj)
       
   617 //   }
       
   618 func (a *Assertions) NoError(err error, msgAndArgs ...interface{}) bool {
       
   619 	if h, ok := a.t.(tHelper); ok {
       
   620 		h.Helper()
       
   621 	}
       
   622 	return NoError(a.t, err, msgAndArgs...)
       
   623 }
       
   624 
       
   625 // NoErrorf asserts that a function returned no error (i.e. `nil`).
       
   626 //
       
   627 //   actualObj, err := SomeFunction()
       
   628 //   if a.NoErrorf(err, "error message %s", "formatted") {
       
   629 // 	   assert.Equal(t, expectedObj, actualObj)
       
   630 //   }
       
   631 func (a *Assertions) NoErrorf(err error, msg string, args ...interface{}) bool {
       
   632 	if h, ok := a.t.(tHelper); ok {
       
   633 		h.Helper()
       
   634 	}
       
   635 	return NoErrorf(a.t, err, msg, args...)
       
   636 }
       
   637 
       
   638 // NotContains asserts that the specified string, list(array, slice...) or map does NOT contain the
       
   639 // specified substring or element.
       
   640 //
       
   641 //    a.NotContains("Hello World", "Earth")
       
   642 //    a.NotContains(["Hello", "World"], "Earth")
       
   643 //    a.NotContains({"Hello": "World"}, "Earth")
       
   644 func (a *Assertions) NotContains(s interface{}, contains interface{}, msgAndArgs ...interface{}) bool {
       
   645 	if h, ok := a.t.(tHelper); ok {
       
   646 		h.Helper()
       
   647 	}
       
   648 	return NotContains(a.t, s, contains, msgAndArgs...)
       
   649 }
       
   650 
       
   651 // NotContainsf asserts that the specified string, list(array, slice...) or map does NOT contain the
       
   652 // specified substring or element.
       
   653 //
       
   654 //    a.NotContainsf("Hello World", "Earth", "error message %s", "formatted")
       
   655 //    a.NotContainsf(["Hello", "World"], "Earth", "error message %s", "formatted")
       
   656 //    a.NotContainsf({"Hello": "World"}, "Earth", "error message %s", "formatted")
       
   657 func (a *Assertions) NotContainsf(s interface{}, contains interface{}, msg string, args ...interface{}) bool {
       
   658 	if h, ok := a.t.(tHelper); ok {
       
   659 		h.Helper()
       
   660 	}
       
   661 	return NotContainsf(a.t, s, contains, msg, args...)
       
   662 }
       
   663 
       
   664 // NotEmpty asserts that the specified object is NOT empty.  I.e. not nil, "", false, 0 or either
       
   665 // a slice or a channel with len == 0.
       
   666 //
       
   667 //  if a.NotEmpty(obj) {
       
   668 //    assert.Equal(t, "two", obj[1])
       
   669 //  }
       
   670 func (a *Assertions) NotEmpty(object interface{}, msgAndArgs ...interface{}) bool {
       
   671 	if h, ok := a.t.(tHelper); ok {
       
   672 		h.Helper()
       
   673 	}
       
   674 	return NotEmpty(a.t, object, msgAndArgs...)
       
   675 }
       
   676 
       
   677 // NotEmptyf asserts that the specified object is NOT empty.  I.e. not nil, "", false, 0 or either
       
   678 // a slice or a channel with len == 0.
       
   679 //
       
   680 //  if a.NotEmptyf(obj, "error message %s", "formatted") {
       
   681 //    assert.Equal(t, "two", obj[1])
       
   682 //  }
       
   683 func (a *Assertions) NotEmptyf(object interface{}, msg string, args ...interface{}) bool {
       
   684 	if h, ok := a.t.(tHelper); ok {
       
   685 		h.Helper()
       
   686 	}
       
   687 	return NotEmptyf(a.t, object, msg, args...)
       
   688 }
       
   689 
       
   690 // NotEqual asserts that the specified values are NOT equal.
       
   691 //
       
   692 //    a.NotEqual(obj1, obj2)
       
   693 //
       
   694 // Pointer variable equality is determined based on the equality of the
       
   695 // referenced values (as opposed to the memory addresses).
       
   696 func (a *Assertions) NotEqual(expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool {
       
   697 	if h, ok := a.t.(tHelper); ok {
       
   698 		h.Helper()
       
   699 	}
       
   700 	return NotEqual(a.t, expected, actual, msgAndArgs...)
       
   701 }
       
   702 
       
   703 // NotEqualf asserts that the specified values are NOT equal.
       
   704 //
       
   705 //    a.NotEqualf(obj1, obj2, "error message %s", "formatted")
       
   706 //
       
   707 // Pointer variable equality is determined based on the equality of the
       
   708 // referenced values (as opposed to the memory addresses).
       
   709 func (a *Assertions) NotEqualf(expected interface{}, actual interface{}, msg string, args ...interface{}) bool {
       
   710 	if h, ok := a.t.(tHelper); ok {
       
   711 		h.Helper()
       
   712 	}
       
   713 	return NotEqualf(a.t, expected, actual, msg, args...)
       
   714 }
       
   715 
       
   716 // NotNil asserts that the specified object is not nil.
       
   717 //
       
   718 //    a.NotNil(err)
       
   719 func (a *Assertions) NotNil(object interface{}, msgAndArgs ...interface{}) bool {
       
   720 	if h, ok := a.t.(tHelper); ok {
       
   721 		h.Helper()
       
   722 	}
       
   723 	return NotNil(a.t, object, msgAndArgs...)
       
   724 }
       
   725 
       
   726 // NotNilf asserts that the specified object is not nil.
       
   727 //
       
   728 //    a.NotNilf(err, "error message %s", "formatted")
       
   729 func (a *Assertions) NotNilf(object interface{}, msg string, args ...interface{}) bool {
       
   730 	if h, ok := a.t.(tHelper); ok {
       
   731 		h.Helper()
       
   732 	}
       
   733 	return NotNilf(a.t, object, msg, args...)
       
   734 }
       
   735 
       
   736 // NotPanics asserts that the code inside the specified PanicTestFunc does NOT panic.
       
   737 //
       
   738 //   a.NotPanics(func(){ RemainCalm() })
       
   739 func (a *Assertions) NotPanics(f PanicTestFunc, msgAndArgs ...interface{}) bool {
       
   740 	if h, ok := a.t.(tHelper); ok {
       
   741 		h.Helper()
       
   742 	}
       
   743 	return NotPanics(a.t, f, msgAndArgs...)
       
   744 }
       
   745 
       
   746 // NotPanicsf asserts that the code inside the specified PanicTestFunc does NOT panic.
       
   747 //
       
   748 //   a.NotPanicsf(func(){ RemainCalm() }, "error message %s", "formatted")
       
   749 func (a *Assertions) NotPanicsf(f PanicTestFunc, msg string, args ...interface{}) bool {
       
   750 	if h, ok := a.t.(tHelper); ok {
       
   751 		h.Helper()
       
   752 	}
       
   753 	return NotPanicsf(a.t, f, msg, args...)
       
   754 }
       
   755 
       
   756 // NotRegexp asserts that a specified regexp does not match a string.
       
   757 //
       
   758 //  a.NotRegexp(regexp.MustCompile("starts"), "it's starting")
       
   759 //  a.NotRegexp("^start", "it's not starting")
       
   760 func (a *Assertions) NotRegexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) bool {
       
   761 	if h, ok := a.t.(tHelper); ok {
       
   762 		h.Helper()
       
   763 	}
       
   764 	return NotRegexp(a.t, rx, str, msgAndArgs...)
       
   765 }
       
   766 
       
   767 // NotRegexpf asserts that a specified regexp does not match a string.
       
   768 //
       
   769 //  a.NotRegexpf(regexp.MustCompile("starts", "error message %s", "formatted"), "it's starting")
       
   770 //  a.NotRegexpf("^start", "it's not starting", "error message %s", "formatted")
       
   771 func (a *Assertions) NotRegexpf(rx interface{}, str interface{}, msg string, args ...interface{}) bool {
       
   772 	if h, ok := a.t.(tHelper); ok {
       
   773 		h.Helper()
       
   774 	}
       
   775 	return NotRegexpf(a.t, rx, str, msg, args...)
       
   776 }
       
   777 
       
   778 // NotSubset asserts that the specified list(array, slice...) contains not all
       
   779 // elements given in the specified subset(array, slice...).
       
   780 //
       
   781 //    a.NotSubset([1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]")
       
   782 func (a *Assertions) NotSubset(list interface{}, subset interface{}, msgAndArgs ...interface{}) bool {
       
   783 	if h, ok := a.t.(tHelper); ok {
       
   784 		h.Helper()
       
   785 	}
       
   786 	return NotSubset(a.t, list, subset, msgAndArgs...)
       
   787 }
       
   788 
       
   789 // NotSubsetf asserts that the specified list(array, slice...) contains not all
       
   790 // elements given in the specified subset(array, slice...).
       
   791 //
       
   792 //    a.NotSubsetf([1, 3, 4], [1, 2], "But [1, 3, 4] does not contain [1, 2]", "error message %s", "formatted")
       
   793 func (a *Assertions) NotSubsetf(list interface{}, subset interface{}, msg string, args ...interface{}) bool {
       
   794 	if h, ok := a.t.(tHelper); ok {
       
   795 		h.Helper()
       
   796 	}
       
   797 	return NotSubsetf(a.t, list, subset, msg, args...)
       
   798 }
       
   799 
       
   800 // NotZero asserts that i is not the zero value for its type.
       
   801 func (a *Assertions) NotZero(i interface{}, msgAndArgs ...interface{}) bool {
       
   802 	if h, ok := a.t.(tHelper); ok {
       
   803 		h.Helper()
       
   804 	}
       
   805 	return NotZero(a.t, i, msgAndArgs...)
       
   806 }
       
   807 
       
   808 // NotZerof asserts that i is not the zero value for its type.
       
   809 func (a *Assertions) NotZerof(i interface{}, msg string, args ...interface{}) bool {
       
   810 	if h, ok := a.t.(tHelper); ok {
       
   811 		h.Helper()
       
   812 	}
       
   813 	return NotZerof(a.t, i, msg, args...)
       
   814 }
       
   815 
       
   816 // Panics asserts that the code inside the specified PanicTestFunc panics.
       
   817 //
       
   818 //   a.Panics(func(){ GoCrazy() })
       
   819 func (a *Assertions) Panics(f PanicTestFunc, msgAndArgs ...interface{}) bool {
       
   820 	if h, ok := a.t.(tHelper); ok {
       
   821 		h.Helper()
       
   822 	}
       
   823 	return Panics(a.t, f, msgAndArgs...)
       
   824 }
       
   825 
       
   826 // PanicsWithValue asserts that the code inside the specified PanicTestFunc panics, and that
       
   827 // the recovered panic value equals the expected panic value.
       
   828 //
       
   829 //   a.PanicsWithValue("crazy error", func(){ GoCrazy() })
       
   830 func (a *Assertions) PanicsWithValue(expected interface{}, f PanicTestFunc, msgAndArgs ...interface{}) bool {
       
   831 	if h, ok := a.t.(tHelper); ok {
       
   832 		h.Helper()
       
   833 	}
       
   834 	return PanicsWithValue(a.t, expected, f, msgAndArgs...)
       
   835 }
       
   836 
       
   837 // PanicsWithValuef asserts that the code inside the specified PanicTestFunc panics, and that
       
   838 // the recovered panic value equals the expected panic value.
       
   839 //
       
   840 //   a.PanicsWithValuef("crazy error", func(){ GoCrazy() }, "error message %s", "formatted")
       
   841 func (a *Assertions) PanicsWithValuef(expected interface{}, f PanicTestFunc, msg string, args ...interface{}) bool {
       
   842 	if h, ok := a.t.(tHelper); ok {
       
   843 		h.Helper()
       
   844 	}
       
   845 	return PanicsWithValuef(a.t, expected, f, msg, args...)
       
   846 }
       
   847 
       
   848 // Panicsf asserts that the code inside the specified PanicTestFunc panics.
       
   849 //
       
   850 //   a.Panicsf(func(){ GoCrazy() }, "error message %s", "formatted")
       
   851 func (a *Assertions) Panicsf(f PanicTestFunc, msg string, args ...interface{}) bool {
       
   852 	if h, ok := a.t.(tHelper); ok {
       
   853 		h.Helper()
       
   854 	}
       
   855 	return Panicsf(a.t, f, msg, args...)
       
   856 }
       
   857 
       
   858 // Regexp asserts that a specified regexp matches a string.
       
   859 //
       
   860 //  a.Regexp(regexp.MustCompile("start"), "it's starting")
       
   861 //  a.Regexp("start...$", "it's not starting")
       
   862 func (a *Assertions) Regexp(rx interface{}, str interface{}, msgAndArgs ...interface{}) bool {
       
   863 	if h, ok := a.t.(tHelper); ok {
       
   864 		h.Helper()
       
   865 	}
       
   866 	return Regexp(a.t, rx, str, msgAndArgs...)
       
   867 }
       
   868 
       
   869 // Regexpf asserts that a specified regexp matches a string.
       
   870 //
       
   871 //  a.Regexpf(regexp.MustCompile("start", "error message %s", "formatted"), "it's starting")
       
   872 //  a.Regexpf("start...$", "it's not starting", "error message %s", "formatted")
       
   873 func (a *Assertions) Regexpf(rx interface{}, str interface{}, msg string, args ...interface{}) bool {
       
   874 	if h, ok := a.t.(tHelper); ok {
       
   875 		h.Helper()
       
   876 	}
       
   877 	return Regexpf(a.t, rx, str, msg, args...)
       
   878 }
       
   879 
       
   880 // Subset asserts that the specified list(array, slice...) contains all
       
   881 // elements given in the specified subset(array, slice...).
       
   882 //
       
   883 //    a.Subset([1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]")
       
   884 func (a *Assertions) Subset(list interface{}, subset interface{}, msgAndArgs ...interface{}) bool {
       
   885 	if h, ok := a.t.(tHelper); ok {
       
   886 		h.Helper()
       
   887 	}
       
   888 	return Subset(a.t, list, subset, msgAndArgs...)
       
   889 }
       
   890 
       
   891 // Subsetf asserts that the specified list(array, slice...) contains all
       
   892 // elements given in the specified subset(array, slice...).
       
   893 //
       
   894 //    a.Subsetf([1, 2, 3], [1, 2], "But [1, 2, 3] does contain [1, 2]", "error message %s", "formatted")
       
   895 func (a *Assertions) Subsetf(list interface{}, subset interface{}, msg string, args ...interface{}) bool {
       
   896 	if h, ok := a.t.(tHelper); ok {
       
   897 		h.Helper()
       
   898 	}
       
   899 	return Subsetf(a.t, list, subset, msg, args...)
       
   900 }
       
   901 
       
   902 // True asserts that the specified value is true.
       
   903 //
       
   904 //    a.True(myBool)
       
   905 func (a *Assertions) True(value bool, msgAndArgs ...interface{}) bool {
       
   906 	if h, ok := a.t.(tHelper); ok {
       
   907 		h.Helper()
       
   908 	}
       
   909 	return True(a.t, value, msgAndArgs...)
       
   910 }
       
   911 
       
   912 // Truef asserts that the specified value is true.
       
   913 //
       
   914 //    a.Truef(myBool, "error message %s", "formatted")
       
   915 func (a *Assertions) Truef(value bool, msg string, args ...interface{}) bool {
       
   916 	if h, ok := a.t.(tHelper); ok {
       
   917 		h.Helper()
       
   918 	}
       
   919 	return Truef(a.t, value, msg, args...)
       
   920 }
       
   921 
       
   922 // WithinDuration asserts that the two times are within duration delta of each other.
       
   923 //
       
   924 //   a.WithinDuration(time.Now(), time.Now(), 10*time.Second)
       
   925 func (a *Assertions) WithinDuration(expected time.Time, actual time.Time, delta time.Duration, msgAndArgs ...interface{}) bool {
       
   926 	if h, ok := a.t.(tHelper); ok {
       
   927 		h.Helper()
       
   928 	}
       
   929 	return WithinDuration(a.t, expected, actual, delta, msgAndArgs...)
       
   930 }
       
   931 
       
   932 // WithinDurationf asserts that the two times are within duration delta of each other.
       
   933 //
       
   934 //   a.WithinDurationf(time.Now(), time.Now(), 10*time.Second, "error message %s", "formatted")
       
   935 func (a *Assertions) WithinDurationf(expected time.Time, actual time.Time, delta time.Duration, msg string, args ...interface{}) bool {
       
   936 	if h, ok := a.t.(tHelper); ok {
       
   937 		h.Helper()
       
   938 	}
       
   939 	return WithinDurationf(a.t, expected, actual, delta, msg, args...)
       
   940 }
       
   941 
       
   942 // Zero asserts that i is the zero value for its type.
       
   943 func (a *Assertions) Zero(i interface{}, msgAndArgs ...interface{}) bool {
       
   944 	if h, ok := a.t.(tHelper); ok {
       
   945 		h.Helper()
       
   946 	}
       
   947 	return Zero(a.t, i, msgAndArgs...)
       
   948 }
       
   949 
       
   950 // Zerof asserts that i is the zero value for its type.
       
   951 func (a *Assertions) Zerof(i interface{}, msg string, args ...interface{}) bool {
       
   952 	if h, ok := a.t.(tHelper); ok {
       
   953 		h.Helper()
       
   954 	}
       
   955 	return Zerof(a.t, i, msg, args...)
       
   956 }