1/* 2* CODE GENERATED AUTOMATICALLY WITH github.com/stretchr/testify/_codegen 3* THIS FILE MUST NOT BE EDITED BY HAND 4 */ 5 6package assert 7 8import ( 9 http "net/http" 10 url "net/url" 11 time "time" 12) 13 14// Condition uses a Comparison to assert a complex condition. 15func (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. 23func (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") 36func (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") 49func (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. 57func (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. 65func (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]) 77func (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") 89func (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) 100func (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") 111func (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. 125func (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) 137func (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") 149func (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)) 160func (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)) 171func (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. 185func (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// } 198func (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// } 211func (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)) 221func (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)) 231func (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 239func (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 247func (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 255func (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 263func (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) 273func (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") 283func (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. 291func (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. 299func (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). 312func (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). 325func (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). 338func (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). 351func (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). 363func (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). 375func (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). 387func (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). 399func (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). 411func (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). 423func (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)) 433func (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)) 443func (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) 453func (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. 461func (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. 469func (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. 477func (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. 485func (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) 495func (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 503func (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. 511func (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. 519func (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 527func (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. 535func (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. 543func (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"}`) 553func (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") 563func (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) 574func (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") 585func (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) 595func (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") 605func (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// } 618func (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// } 631func (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") 644func (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") 657func (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// } 670func (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// } 683func (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). 696func (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). 709func (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) 719func (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") 729func (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() }) 739func (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") 749func (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") 760func (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") 771func (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]") 782func (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") 793func (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. 801func (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. 809func (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() }) 819func (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() }) 830func (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") 841func (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") 851func (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") 862func (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") 873func (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]") 884func (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") 895func (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) 905func (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") 915func (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) 925func (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") 935func (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. 943func (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. 951func (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} 957