Commit Graph

700 Commits (cd58006fe60b8ead9b2172ac361b197f476de83c)

Author SHA1 Message Date
Adam Medzinski 42baa3e5a4 Nil check in Implements assertion 2017-12-30 17:32:04 +01:00
Eyal b3dfaa9086 fail: add test name for logged output
In case of a test failure, the test name will be logged to the output
with makes debugging easier, specially in case of table driven tests.
2017-12-30 17:26:20 +01:00
Maxim Kolganov 6e494f9834 put closestCall.Arguments to the expected side of the diff 2017-12-30 16:53:32 +01:00
Emil Stanchev 51464dae67 Consider empty/nil arrays as matching elements 2017-12-30 16:33:25 +01:00
Emil Stanchev 6f306a68e1 Reuse aLen and bLen variables 2017-12-30 16:33:25 +01:00
Emil Stanchev 76de30ed82 Actually fail tests 2017-12-30 16:33:25 +01:00
Emil Stanchev ae87ba6d08 Ran go generate 2017-12-30 16:33:25 +01:00
Emil Stanchev 8bd27ddf8b Compress some newlines 2017-12-30 16:33:25 +01:00
Emil Stanchev bf57a5dedc ElementsMatch array/slice assertion ignoring order
An assertion that compares the elements of the slices/arrays disregarding the order,
i.e. it checks whether each element in the first slice/array appears the same number of times in it
as in the second slice/array.

This name seemed like it would be easy to find.

Possible alternatives for the name:
- ContainsSameElements
- IsPermutation (C++: http://en.cppreference.com/w/cpp/algorithm/is_permutation)
- MatchArray (rspec: http://www.rubydoc.info/github/rspec/rspec-expectations/RSpec/Matchers:match_array)
- EqualSorted
- Other ideas?

This implementaiton is O(N^2), while sorting both lists first would be O(nlogn).
However, this one doesn't need to copy the lists, so it is simpler and doesn't require additional
memory and time for the copies.

I realize this was deemed as out of scope
https://github.com/stretchr/testify/issues/275
but I decided to give it a shot as I needed it also.
2017-12-30 16:33:25 +01:00
Tim Schaub 0c49dd9bb7 Replace is with in
Minor doc typo.
2017-12-30 16:16:00 +01:00
Emil Stanchev 9fb9de17de Make NotSubset actually fail the test on nil subset
The assertion function was simply returning false, which doesn't actually fail a test.
An example test that should have failed but doesn't:

  func TestNotSubset(t *testing.T) {
      assert.NotSubset(t, []string{"x"}, nil)
  }
2017-12-30 16:07:04 +01:00
Peter Hsu 8ccf48a064 Allow a method call to be optional 2017-12-30 15:23:32 +01:00
Eyal Posener aa8279e896 travis: add go1.9 2017-12-30 15:14:03 +01:00
odog c0f1d443b4 indent actual value for better comparison with expected value 2017-12-30 14:43:45 +01:00
Jonathan Jin 249123e03a Implement delta comparison for map values 2017-12-30 14:26:37 +01:00
Vincent Cote-Roy 88a414d072 generalize Empty assertion
Make `Empty` work against any struct and custom types, by replacing
explicit zero value comparisons with a `DeepEqual` comparison with
the type's `reflect.ZeroValue`.
2017-12-30 13:03:09 +01:00
Dan Heller 2aa2c176b9 Fix unprotected call fields access in MethodCalled()
This change fixes a race condition I discovered when a multithreaded
test in a service I work on failed under -race. The included test case
simulates that failure (concurrent mutation of a Call with invocations
on the mock). The test will fail with a data race if run under the
race detector; the new locking ensures that call fields are not
accessed without the protection of the parent mutex.
2017-10-17 22:22:57 -07:00
Dragos Harabor 890a5c3458 Issue #469 fix
reflect.Value.Len() can cover more types, per godoc:
> Len returns v's length. It panics if v's Kind is not Array, Chan, Map, Slice, or String.
2017-08-09 15:42:52 -07:00
Joshua T Corbin 05e8a0eda3 Fix the actuality of InEpsilon 2017-07-14 14:53:25 -07:00
Joshua T Corbin 2f1cd6b778 time.Duraions are numbers too 2017-07-14 14:27:08 -07:00
Joshua T Corbin b1f989447a Fix InDelta expected nan check message 2017-07-14 11:20:46 -07:00
Joshua T Corbin 4b92304da8 Fix actual float conversion error message under calcRelativeError 2017-07-14 11:13:59 -07:00
Tom Artale f6abca5936 Added assert.PanicsWithValue + tests 2017-06-01 22:03:22 +01:00
Yimin Chen e964b172ca add MethodCalled to the mock
remove IsCallExpected method

add comment
2017-05-30 21:11:52 +01:00
Adam Medzinski 46b3c8225b Simple validation of Equal/NotEqual assertion arguments 2017-05-29 17:57:31 +01:00
Ernesto Jiménez cc189738c0 Fix gogenerate travis check 2017-05-29 15:04:59 +01:00
Ernesto Jiménez e179a18f6c Travis check go generate has been run 2017-05-29 13:40:41 +01:00
Ernesto Jiménez 345898142b Run go vet in travis 2017-05-29 13:40:41 +01:00
Ernesto Jiménez c7668ea997 Fixes #339 - Add `assertion`f assertions like Errorf and Equalf 2017-05-29 12:56:43 +01:00
Ernesto Jiménez c33f336b92 Fix vet warnings and go generate to update docs 2017-05-29 12:56:43 +01:00
Ben Blount 3104bf5483 Use Go 1.7 subtests so suites can properly nest
This removes dependencies on Go Testing Internals and
also enables test methods within a suite to have subtests.

Fixes #346
2017-05-29 12:27:49 +01:00
Ernesto Jiménez b8c9b4ef3d Merge pull request #447 from stretchr/issue-442
Fix race condition on mock package's Called
2017-05-28 14:51:04 +01:00
Ernesto Jiménez bd79c01e74 Fix race condition on mock package's Called
Closes #442
2017-05-28 14:43:48 +01:00
Ernesto Jiménez 253219d8d4 Merge pull request #396 from medzin/issue-379
HTTP code status assertions now fail tests
2017-05-28 13:28:02 +01:00
Ernesto Jiménez edd8e19ece Run go generate to syn generated assertions 2017-05-28 12:30:45 +01:00
Ernesto Jiménez aa10ab5551 Merge pull request #382 from GlenDC/feat-test-subset
add Subset and NotSubset assertions
2017-05-28 12:29:49 +01:00
Adam Medziński 78be756ee7 Fixed HTTP assertions messages formatting and removed wrong test message 2017-05-28 13:23:04 +02:00
decauwsemaecker.glen@gmail.com 3a59a58abc
add Subset and NotSubset assertions 2017-05-27 17:24:18 -05:00
Ernesto Jiménez e68c5c5208 Merge pull request #446 from stretchr/gofmt-in-travis
Check code is formatted in travis
2017-05-27 20:19:13 +01:00
Ernesto Jiménez dd57c7b68a Check code is formatted in travis 2017-05-27 19:12:18 +01:00
Ernesto Jiménez eb84487cae Merge pull request #441 from stretchr/revert-commits
Revert PRs with
2017-05-26 07:56:33 +01:00
Ernesto Jiménez f712be9266 Revert "add mock.MethodCalled(methodName, args...)"
This reverts commit 17a0bd50e9.

Should avoid simply exporting an internal method.
2017-05-26 07:47:23 +01:00
Ernesto Jiménez 34687ebd28 Revert "diffArguments: remove unnecessary range-for (#417)"
This reverts commit 5c861cc4a4.

Bug was already fixed in another merge.
2017-05-26 07:46:34 +01:00
Ernesto Jiménez 2b76a9702e Revert "Added goconvey style assertions to the mock package"
This reverts commit faf0710ff2.
2017-05-26 07:46:02 +01:00
Terin Stock b6296e3859 fix(docs): correct Error usage examples
Correct the usage of `assert.Equal` in the Error and NoError usage
examples, which had reversed the expected and actual arguments.
2017-05-25 17:42:54 -07:00
Tedde Lundgren d2f3716b44 Add msgAndArgs pass forward to InDelta from InDeltaSlice 2017-05-25 17:40:33 -07:00
Peter Ebden 158f9d0389 Check that there is a directory before trying to access it. 2017-05-25 17:40:15 -07:00
Richard Knop 18cfa6871f Added extra unit test for function with mixed variadic arguments. 2017-05-25 17:38:37 -07:00
Simon Mulser b1f1bcb83a fix typo 2017-05-25 17:32:03 -07:00
Cameron Moore 09f61d78b8 assert: fix error reporting when error contains escape sequences
Fixes #325
2017-05-25 17:28:59 -07:00