Commit Graph

943 Commits

Author SHA1 Message Date
Michael Miller ab147d00fb Cleanup match methods 2019-08-06 22:18:05 -06:00
Michael Miller 13fad5081b Initial refactor of ArrayMatcher 2019-08-06 21:56:33 -06:00
Michael Miller 044202e606 Use inspect instead of to_s for value reporting 2019-08-06 21:55:22 -06:00
Michael Miller 5cc735368c Update comparison matchers 2019-08-01 21:17:24 -06:00
Michael Miller 42b8fe471f Fix some includes and a dangling old file 2019-08-01 16:37:19 -06:00
Michael Miller 11600a2f8d Simplify more matchers that are easy targets 2019-08-01 16:35:02 -06:00
Michael Miller 16a2204a2d Simplify CaseMatcher by using new matcher refactoring 2019-08-01 16:17:39 -06:00
Michael Miller c75fba8076 Change visibility to private 2019-08-01 16:17:12 -06:00
Michael Miller 4b59dcf142 Pass actual value to failure message methods and values 2019-08-01 16:02:28 -06:00
Michael Miller f63697b019 Update ValueMatcher to use Matcher's methods 2019-08-01 15:59:29 -06:00
Michael Miller 114a4077f3 Fix parameters on LabeledValue 2019-08-01 15:58:48 -06:00
Michael Miller f004912fc1 Value first, then label 2019-08-01 15:48:39 -06:00
Michael Miller 7e3b3cd999 Fix namespaces 2019-08-01 15:44:04 -06:00
Michael Miller 99d8f2a845 Use TestValue instead of custom LabeledValue 2019-08-01 15:40:46 -06:00
Michael Miller 763a65beac Rename again
This naming is more appropriate since these types can be used for
expected and actual values.
2019-08-01 15:38:20 -06:00
Michael Miller dd69cec536 Should capture a block instead of a value 2019-08-01 15:22:45 -06:00
Michael Miller 28680fa849 Rename Actual types to be more "human" sounding 2019-08-01 15:22:18 -06:00
Michael Miller 79a095bb31 Use new style expectations and actuals in DSL 2019-08-01 15:00:56 -06:00
Michael Miller 96c271cf33 No need to shout 2019-08-01 14:46:47 -06:00
Michael Miller ba1c37b142 Fix macro 2019-08-01 14:46:13 -06:00
Michael Miller 45e9fa186f Merge branch 'release/0.8' into matcher-refactor 2019-08-01 14:42:14 -06:00
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