250 Commits

Author SHA1 Message Date
Ernesto Jiménez
d04dca765f Vendor dependencies and rewrite import paths 2015-12-02 20:32:31 +01:00
Blake Wilson
0c260593d1 Edit comments for false assertions 2015-12-02 09:53:45 -06:00
Dennis Coldwell
a3045216a7 found another formatting issue with NotEmpty func 2015-11-20 23:49:31 -08:00
Dennis Coldwell
c94cb5c230 small fix for example formatting on Empty func 2015-11-20 23:35:46 -08:00
Ernesto Jiménez
67106a5111 Sort map keys before diffing maps 2015-11-11 20:37:34 +01:00
Álex González
635a01b704 Show type of the object instead just "Object" string
The `Implements` test was just showing a string instead the name of the
object that was not implementing the interface. Now the type of the
object is shown.
2015-11-08 00:18:55 +01:00
Matt Joiner
7d6ace9113 Handle case where one object is nil and the other is not 2015-11-07 19:02:25 +11:00
Ernesto Jiménez
a76410419d Merge pull request #232 from stretchr/issue-136
Fix #136 - Empty returns true for nil pointers
2015-11-07 04:46:19 +00:00
Ernesto Jiménez
33c4c93911 Fixes #229 - show diffs for structs/maps/arrays/slices when Equal fails 2015-11-03 01:32:38 +00:00
Ernesto Jiménez
c478a808a1 Fix #136 2015-11-02 01:41:59 +00:00
Ernesto Jiménez
8254b8f76b Fix #144 2015-11-02 01:24:09 +00:00
Ernesto Jiménez
a74f1fecd2 Merge pull request #96 from ac7/quote_errors
Wrap NoError message with quote marks
2015-11-01 23:42:15 +00:00
Ernesto Jiménez
40b02b9eef Merge pull request #165 from tuvistavie/master
Support map keys for Contains/NotContains assertion.
2015-11-01 21:02:28 +00:00
Ernesto Jiménez
9a4de4d135 Merge pull request #211 from jaguilar/patch-1
Remove unnecessary branches.
2015-11-01 20:49:18 +00:00
Ernesto Jiménez
a0534acc7b Merge pull request #217 from juliancooper/assert-equivalent-json
Added assertion/requirement that checks if two JSON strings represent equivalent objects
2015-11-01 20:45:50 +00:00
Julian Cooper
2d0c0a478c JSONEq unmarshal's into an interface{} instead of attemping Map and Slice unmarshallings 2015-10-13 14:13:42 -07:00
Bryan Matsuo
fb64a0ab08 Fix NotNil assertion for typed nil values
The NotNil assertion had an error in its handling of typed nil values.
This change makes use of the helper function isNil (used by the Nil
assertion).  The helper function has correct handling of typed nil
values and when negated provides the expected semantics for
`assert.NotNil(t, x)`.

    if x == nil {
        assert.Fail(t, "is nil", x)
    }
2015-09-23 23:48:02 -07:00
Julian Cooper
930ea90dbd Added assertion/requirement that checks if two JSON strings represent equivalent objects 2015-09-23 10:34:52 -07:00
James Aguilar
1cb1359759 Remove unnecessary branches.
reflect.DeepEqual already returns exactly what we want in both of these cases.
2015-08-28 18:56:01 -07:00
Jonathan Camenisch
5d8c1da624 Fix param order in ObjectsAreEqualValues after type conversion 2015-08-27 23:37:31 -04:00
Daniel Chatfield
69ff3e840b Fix order of params in Equal 2015-08-27 16:56:39 +01:00
Ernesto Jiménez
acfa84d454 Merge pull request #190 from davelondon/patch-1
Update assertions.go
2015-08-26 19:36:54 +01:00
Davide D'Agostino
9de108a472 Merge pull request #203 from willfaught/master
Add Zero and NotZero assertions and requirements
2015-08-26 11:35:18 -07:00
Siva Gollapalli
b60ec447d6 Modified the error message for NotEqual 2015-08-26 19:40:56 +05:30
Siva Gollapalli
80b247df3c Display actual and expected values on NotEqual 2015-08-26 19:31:23 +05:30
Siva Gollapalli
05776ad541 EqualError error output swaps the actual and expected values 2015-08-25 20:49:33 +05:30
Will Faught
8512261d41 Add Zero and NotZero assertions and requirements
Zero returns true if the value equals the value's type's zero value.

NotZero returns the opposite of Zero.
2015-08-24 15:53:36 -07:00
davelondon
6b09f60392 Update assertions.go
Fixed incorrect order of parameters to Equal
2015-07-05 10:37:27 -04:00
Connor Peet
6756bdecf4 Adjust NotNil error message 2015-06-21 07:39:50 +10:00
Andrew Burns
c769e40e8b Handle <autogenerated> files in CallerInfo()
Fixes #180
2015-06-11 14:33:49 -06:00
Paul Bellamy
c0b6c3bbd7 Rename Location to Error Trace in failure output 2015-06-05 14:01:19 +01:00
Paul Bellamy
0fd7b57c23 rename assert.locationInfo -> assert.errorTrace 2015-06-05 10:14:07 +01:00
Paul Bellamy
925c3ad43b Reverse the stacktrace on assertion output (to match panic) 2015-06-05 10:13:41 +01:00
Paul Bellamy
a7a0af787a Add a basic stacktrace to the assertion output 2015-06-04 14:00:35 +01:00
Daniel Perez
1e710e53ab Support map keys for Contains/NotContains assertion. 2015-05-13 16:07:31 +09:00
Michael R. Maletich
4e2053a4af Address #162: InDelta should fail when actual value is not a number.
Comparting a float with NaN is always false so the assertion would always pass.
Added a check that either the actual or expected values are NaN.

InDelta will now fail if either the actual or expected value are NaN.
2015-05-12 11:54:42 +00:00
Mat Ryer
e22aedd376 Tweaks and improvements - Fixes #154 2015-04-20 11:19:11 +01:00
Chih-Wei Chang
8b75665fbf Add InEpsilonSlice and corresponding testing. 2015-04-18 22:40:21 +08:00
Chih-Wei Chang
f0b02af48e Add InDeltaSlice. 2015-02-18 10:38:24 +08:00
Paul Querna
e73f5c7e39 Add assert.EqualValues, which attempts to convert types to test equality. Fixes #129 2015-02-10 16:56:43 -08:00
Arnaud Porterie
9bab92ede2 Exclude conversions from equality tests
`ObjectsAreEqual` using `ConvertibleTo` causes the `ObjectsAreEqual`
function to be asymmetrical and producing incorrect assertions.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2015-02-06 16:08:28 -08:00
Samuel Nelson
ff9ded0d23 Fixed regexp messages. Resolves #120. 2015-01-19 12:45:07 -07:00
Tyler
e897f97d66 Merge pull request #93 from dlclark/master
Fixed regexp error messages to include input values to aide debugging
2015-01-13 10:39:58 -07:00
Samuel Nelson
02a8ab057b Reverse ConvertibleTo check to avoid panic
in `ObjectsAreEqual`, `expectedValue.Convert(actualType)` was being called when
`actualType.ConvertibleTo(reflect.TypeOf(expected))` was true.  This was a problem
for situations such as when expected was an int and actual was a string, since
ints are `ConvertibleTo` strings, but the reverse is not true.

Changing the ConvertibleTo check to `expectedValue.Type().ConvertibleTo(actualType)`
solves the issue.
2015-01-10 12:18:57 -07:00
Neil Conway
38aecdc957 Fix panic when comparing unequal maps.
The change in #94 resulted in using == to compare two values that might not be
comparable. Hence, this resulted in a panic for situations like:

    ObjectsAreEqual(map[int]int{5: 10}, map[int]int{10: 20})

The fix is to use reflect.DeepEqual() instead.
2014-11-24 16:11:51 -08:00
Mat Ryer
faedd6eb63 Merge pull request #94 from neilconway/object-equality-golang-1.4
Avoid relying on undefined behavior in assert.ObjectsAreEqual().
2014-11-24 12:06:32 -08:00
Victor Kryukov
d3556349dd Fix #99: Contains doesn't work for complex types 2014-11-18 15:26:31 -08:00
ac7
51cd27a889 Wrap NoError message with quote marks
Previous behavior was to print the error with no delimiters:

	No error is expected but got unexpected character in stream

New behavior is to print the error surrounded by quotes:

	Recieved unexpected error "unexpected character in stream"
2014-11-03 10:26:29 -06:00
Neil Conway
49c5c6cdb1 Avoid relying on undefined behavior in assert.ObjectsAreEqual().
The previous assert.ObjectsAreEqual() implementation is broken in go 1.4beta1:

   x := uint64(3)
   log.Printf("equal? %t", assert.ObjectsAreEqual(3, x))

This prints "true" under Go 1.3 and "false" under 1.4beta1 (amd64/darwin).

The reason is that the ObjectsAreEqual() was comparing two reflect.Value values
for equality using ==, but the behavior of that operation is apparently
undefined (https://code.google.com/p/go/issues/detail?id=9034). The fix is to do
the type conversion and then do the comparison between two interface{} values.
2014-10-31 16:02:32 -07:00
Douglas Clark
25dfa29b38 Fixed regexp error messages to include input values to aide debugging 2014-10-21 20:37:01 -07:00