Commit Graph

239 Commits (4ae48e988c8c84c138d688eba40bfc869f4be907)

Author SHA1 Message Date
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
Victor Kryukov b64f0d0b59 Implement Regexp and NotRegexp 2014-09-13 13:13:42 -06:00
Tyler 15dabc1a45 Merge pull request #73 from comogo/includes
Allow Contains and NotContains to check slices and arrays
2014-09-09 20:31:58 -06:00
Josiah Kiehl (formerly @bluepojo) 27b1e9d9f2 Fix grammer on assert.Len()
🐹
2014-09-04 15:55:45 -07:00
Mateus Lorandi dos Santos ab1fdba54e Allow Contains and NotContains to check slices and arrays 2014-08-21 11:13:02 -03:00
Oliver Beattie 3c808d3dab Print the expected and actual items of an Equal call on separate lines
Makes for much easier comparison visually
2014-08-17 17:57:22 +01:00
Tyler ae3032ce42 Merge pull request #69 from ascheglov/feature-fatal_checks
Add fatal assertions
2014-07-28 14:04:10 -06:00
OMOTO Kenji e787d6aa9d Add Len() 2014-07-17 18:39:50 +09:00
Anatoly Scheglov f6376e8a31 add the 'require' package 2014-07-16 17:30:01 +04:00
bhenderson 256f07baef Refactor InEpsilon() to use InDelta(). 2014-07-10 09:12:30 -07:00
bhenderson 60a27ebea6 Add InEpsilon(). 2014-07-10 08:58:49 -07:00
bhenderson 3b602c6e81 Add InDelta() for comparing floats. 2014-07-10 08:49:17 -07:00
Tyler Bunnell 5cc789b89e Clean up golint warnings 2014-06-18 09:28:16 -06:00
Tyler Bunnell 37ec10ac14 Make empty tests pass
Fix #58
2014-06-18 09:21:09 -06:00
James Bowes 21382c1202 Attempt type conversion in assert.Equal
If the two values being tested are of compatible types, convert one
value to the other's type before comparing them. This allows
`assert.Equal(int64(123), uint64(123))` to pass.
2014-06-03 19:01:48 -03:00
Mat Ryer 8eaef7fd24 Merge pull request #49 from seantalts/noerrormsg
Change NoError formatting. fixes #48
2014-04-25 08:23:39 -06:00
Tyler Bunnell d3d427864d Fix merge conflict 2014-04-22 10:01:40 -06:00
mreedell 2c7459d4ba Fixing issue 33 2014-04-14 15:24:44 -04:00
Sean Talts c469b75615 Change NoError formatting. 2014-04-04 11:36:55 -04:00
Guncha 5114cbfc4a Fix #45: assert.Empty should work with channels 2014-03-31 19:10:48 -04:00
Mat Ryer 24fb97e3a8 Merge pull request #39 from xsleonard/exacterror
ExactError, asserts that err is not nil and its string matches
2014-03-07 11:27:35 -07:00
Victor Blomqvist 12fea7c16c Rename the error argument from theError to err in Error asserts. 2014-03-07 17:19:03 +08:00
Steve Leonard e763434382 rename to EqualError 2014-02-15 15:06:23 -05:00
Steve Leonard 92af479c56 ExactError, asserts that err is not nil and its string matches 2014-02-15 12:24:39 -05:00
Mat Ryer 9cc77fa253 Fixes #2 2014-01-28 10:18:27 -07:00
Mat Ryer a3ce369ac0 Merge pull request #32 from onsi/master
receive *testing.T via an interface
2014-01-28 08:45:01 -08:00
Onsi Fakhouri 59b459277c Define a TestingT interface in assertions.go and mock.go 2014-01-20 18:25:43 -08:00
Chakrit Wichian f51780437f Make isEmpty() properly handles maps. [fix #34] 2014-01-19 10:30:16 +07:00
Victor Blomqvist 0378c681e8 added new assert WithinDuration 2013-09-12 13:24:50 +08:00
Mat Ryer ba887bba64 improved error message 2013-08-02 16:09:49 -06:00
Mat Ryer 8cb5e40869 made Exactly not panic on nils 2013-07-18 09:42:16 -06:00
Tyler Bunnell 1e9c4b3ca7 Use new Fail method internally 2013-07-17 12:44:44 -06:00
Mat Ryer 3e51f38eaf added Fail and Exactly assertions 2013-07-17 12:15:39 -06:00
Joshua Elliott d35afcda84 Don't panic when underlying type is not .IsNil()-able (eg. string) 2013-05-23 14:54:54 -06:00
Tyler Bunnell 044591a481 go fmt 2013-03-31 09:56:37 -06:00
Mat Ryer 841b040dd7 Revert "Fixes #13"
This reverts commit 9b28fe8965.
2012-12-04 13:11:45 -07:00
Mat Ryer 9b28fe8965 Fixes #13 2012-11-21 22:25:09 +00:00
Mat Ryer 03751c9109 Fixes #6 - added Empty and NotEmpty alternatives to nil 2012-11-21 15:03:46 +00:00
Mat Ryer a58329b4c5 Fixes #8 2012-11-21 14:42:06 +00:00
Tyler Bunnell 530d0b899f Add optional format, args for messages
Now you can pass either a "string" or a "%s","string" to the end of all
the functions that take a message.
2012-11-20 20:23:41 -07:00
Tyler Bunnell f05d4eda9d Add assert.Condition 2012-11-02 12:20:08 -06:00
Tyler Bunnell 4abc5d21c6 Fixes #7 2012-10-28 08:31:22 -06:00
Tyler Bunnell 8aa1160d9d Merge branch 'develop' 2012-10-19 10:05:29 -06:00
Tyler Bunnell c090beb5e4 Fix mock CallerInfo 2012-10-19 09:50:23 -06:00
Tyler Bunnell 93c66cec9b Merge branch 'refs/heads/feature/prettyoutput' 2012-10-18 15:39:17 -06:00
Tyler Bunnell 36fef36bf3 Add Last Ditch Equals Comparison
Fixes a problem where int/float of the same value would return not
equal. This may also fix other comparisons in the future.
2012-10-18 14:17:52 -06:00
Tyler Bunnell 4d9c107dd0 Add comment 2012-10-17 11:17:15 -06:00
Tyler Bunnell 4a0996d790 Make the output pretty! 2012-10-17 07:51:19 -06:00
Mat Ryer 0cda4d8ec7 improved comments 2012-10-16 22:21:56 +01:00
Mat Ryer 72cf7da961 enhanced comments 2012-10-16 22:20:38 +01:00
Tyler Bunnell 2930d903bf Initial Commit 2012-10-16 11:14:23 -06:00