Michael Miller
0428246cda
Update Crystal version to 0.30.0
2019-08-01 14:27:12 -06:00
Michael Miller
10cf7bbb77
Update Expectation to use new MatchData
2019-08-01 14:05:27 -06:00
Michael Miller
96f2888b88
Fully implement match methods
...
Add placeholders for matcher values.
2019-08-01 14:05:05 -06:00
Michael Miller
acd01a23e6
Re-add MatchData and variants
2019-08-01 14:04:00 -06:00
Michael Miller
ae43c930bf
Replace MatchDataValue types with a single LabeledValue
2019-08-01 13:49:08 -06:00
Michael Miller
43ba4de202
Merge branch 'matcher-refactor-split' into matcher-refactor
2019-07-31 21:04:28 -06:00
Michael Miller
3a7dc7299a
Rewrite ExpectationPartial and remove sub-types
...
The partial now contains the actual and source.
It also calls the correct match method on the matcher and constructs an
expectation (which needs to be updated).
2019-07-31 20:11:30 -06:00
Michael Miller
42b916bdf7
New "actual" types
2019-07-31 20:01:39 -06:00
Michael Miller
e95c81f46e
Pass negation flag to matcher
...
Some matchers need to know if they're negated to work properly and can't
be simply negated afterwards.
2019-07-30 16:19:27 -06:00
Michael Miller
ab1c0269e0
Remove DummyMatchData
...
No longer needed since MatchData was changed to non-abstract.
2019-07-30 16:13:48 -06:00
Michael Miller
a06247bb1e
Change MatchData to Expectation
...
After including negation into matcher logic, these types are equivalent.
2019-07-30 16:11:55 -06:00
Michael Miller
27f844ce25
Remove abstract base match data
...
Switching to a single type that holds the data.Trying to reduce the
number of types and generic types generated.
2019-07-30 16:08:06 -06:00
Michael Miller
ae18316a5a
Update README with implemented matchers
2019-07-19 17:14:13 -06:00
Mike Miller
95f730965c
Merge branch 'let-assignment-variant' into 'release/0.8'
...
Change wording around let variant
See merge request arctic-fox/spectator!12
2019-07-19 23:11:42 +00:00
Michael Miller
c7e6b82a9a
Change wording around let variant
...
The value is set when the expression is run at program startup, not when
the test starts.
2019-07-19 23:10:22 +00:00
Mike Miller
31fb1c3e81
Merge branch 'let-assignment-variant' into 'release/0.8'
...
Implement assignment variant of let keyword
See merge request arctic-fox/spectator!11
2019-07-19 22:49:09 +00:00
Michael Miller
98476057f5
Implement assignment variant of let keyword
...
Resolves #18
2019-07-19 16:44:00 -06:00
Mike Miller
855c713c5e
Merge branch 'any-order-matcher' into 'release/0.8'
...
Any order matcher
See merge request arctic-fox/spectator!9
2019-06-12 21:40:03 +00:00
Michael Miller
3c7bbe4e42
Allow actual collection to be enumerable, not just array
...
Force expected collection to an array.
2019-06-12 15:36:09 -06:00
Michael Miller
19d52ff02b
Add unordered array matcher
2019-06-12 15:35:33 -06:00
Michael Miller
3ff5b2ac5e
Capture element type
2019-06-12 13:58:11 -06:00
Michael Miller
0eaf8efcc6
Fix copy/paste fail
2019-06-12 13:57:33 -06:00
Mike Miller
05075696bc
Merge branch 'size-of-matcher' into 'release/0.8'
...
Size of matcher
See merge request arctic-fox/spectator!8
2019-06-09 19:04:06 +00:00
Michael Miller
efde29c90e
Add have_size_of matcher
2019-06-09 12:45:49 -06:00
Michael Miller
bb2b834662
Add have_size matcher
2019-06-09 12:44:46 -06:00
Mike Miller
bc4d0117a3
Merge branch 'have-matcher' into 'release/0.8'
...
Implement have predicate matcher
See merge request arctic-fox/spectator!6
2019-06-02 05:46:27 +00:00
Michael Miller
7a8cf08c73
Update README (matchers)
2019-06-01 23:41:06 -06:00
Michael Miller
0164d2973f
Fix predicate tests and add new ones for have_ variant
2019-06-01 23:39:23 -06:00
Michael Miller
091cbaa81a
Cleanup have_ variant by using a new matcher
2019-06-01 23:27:16 -06:00
Michael Miller
16bcce59ae
Handle have_
prefix for matcher
2019-06-01 23:14:58 -06:00
Michael Miller
45f0f7f6d1
Include predicate arguments in label
2019-06-01 23:06:39 -06:00
Michael Miller
36f53d82db
Use label from matcher macro
2019-06-01 22:53:12 -06:00
Michael Miller
7e73ec2fe1
Allow passing arguments to predicate matcher
2019-06-01 22:46:06 -06:00
Michael Miller
d969b0557a
Update version to 0.8.0
2019-06-01 22:27:51 -06:00
Mike Miller
2eb6bc4ea2
Merge branch 'type-matcher-actual-fix' into 'release/0.8'
...
Fix the actual type reported by the type matcher
See merge request arctic-fox/spectator!5
2019-06-02 03:37:41 +00:00
Michael Miller
e234ac2f31
Test case to ensure runtime type is reported
2019-06-01 20:55:29 -06:00
Michael Miller
cc4ab9756a
Fix the actual type reported by the type matcher
...
If an object has a difference between compiler and runtime type, then
the type matcher would report the actual as the compiler type.
The match would be successful, because it uses the runtime check
(is_a?).
2019-06-01 20:48:24 -06:00
Mike Miller
b6ac736dd2
Merge branch 'issue-11-fix' into 'master'
...
Issue 11 fix
Closes #11
See merge request arctic-fox/spectator!4
2019-06-02 02:12:24 +00:00
Michael Miller
c744120e91
Update version to 0.7.2
2019-06-01 20:10:27 -06:00
Michael Miller
ca564619ad
Change example wrapper type to a class
...
Fixes issue #11 .
Variables (defined with let) were getting re-created between the hooks
and the example code.
This was due to a separate struct value being returned for each fetch to
the wrapped example instance.
In turn, the wrappers for variables were reset for each fetch.
2019-06-01 20:10:08 -06:00
Mike Miller
ed2614da22
Merge branch 'named-subject-fix' into 'master'
...
Named subject fix
See merge request arctic-fox/spectator!3
2019-05-21 19:48:30 +00:00
Michael Miller
64a3a81b15
Update version to 0.7.1
2019-05-21 13:45:39 -06:00
Michael Miller
01b5d71ad0
Fixed an issue where named subjects could crash the compiler
...
Received:
Nil assertion failed (NilAssertionError)
from ???
...
Error: you've found a bug in the Crystal compiler. ...
for this code:
subject(point) { Point.new }
describe "#x" do
subject { point.x }
end
Redefining subjects with a named subject broke.
This commit fixes that with a simply flip in the definitions.
2019-05-21 13:44:19 -06:00
Michael Miller
ec9e598882
Update version to 0.7.0
2019-05-16 18:25:12 -06:00
Michael Miller
77307f6eb1
Split part of RangeMatcher off as CollectionMatcher
...
Use CollectionMatcher for `be_within`.
The `#of` method creates a RangeMatcher.
2019-05-16 18:20:08 -06:00
Michael Miller
fa5c13df0e
Remove min-max variation of be_within
...
Use `be_between(min, max)` instead.
This matches RSpec.
2019-05-16 18:09:21 -06:00
Michael Miller
0fc28241dd
Add be_between matcher which is an alias of be_within
2019-05-14 21:50:09 -06:00
Mike Miller
29abe79809
Merge branch 'equality-matcher-changes' into 'master'
...
Equality matcher changes
See merge request arctic-fox/spectator!2
2019-05-09 01:21:22 +00:00
Michael Miller
7e20521030
Bump to 0.6.0
...
Breaking change with be() and match()
2019-05-08 17:02:30 -06:00
Michael Miller
2378594c5d
Use reference matching for be()
2019-05-08 16:59:59 -06:00