Commit Graph

127 Commits (ae4c58e530a442fca76a38d81fc6cb96eaa1ce09)

Author SHA1 Message Date
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