Commit Graph

63 Commits (e22aedd37671fb115be6c0c25129c405cb575cfd)

Author SHA1 Message Date
Mat Ryer e22aedd376 Tweaks and improvements - Fixes 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 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 . 2015-01-19 12:45:07 -07:00
Tyler e897f97d66 Merge pull request 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  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 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 : Contains doesn't work for complex types 2014-11-18 15:26:31 -08: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 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 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 
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 from seantalts/noerrormsg
Change NoError formatting. fixes 
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 : assert.Empty should work with channels 2014-03-31 19:10:48 -04:00
Mat Ryer 24fb97e3a8 Merge pull request 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 2014-01-28 10:18:27 -07:00
Mat Ryer a3ce369ac0 Merge pull request 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 ] 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 2012-11-21 22:25:09 +00:00
Mat Ryer 03751c9109 Fixes - added Empty and NotEmpty alternatives to nil 2012-11-21 15:03:46 +00:00