Michael Miller
f53bc26c28
Add ReferenceMatcher type
2019-05-08 16:59:36 -06:00
Michael Miller
7168b26218
Remove regex matcher - use case matcher
2019-05-08 16:39:00 -06:00
Michael Miller
00045ba9be
Tests for nested groups and fail-fast
2019-04-22 20:27:54 -06:00
Michael Miller
1d530de5b1
Add tests for fail-fast and after hooks
...
Inspecting issue #2
2019-04-22 19:12:45 -06:00
Michael Miller
b305c829be
Allow hooks and conditions to be passed to create
2019-04-22 18:22:12 -06:00
Michael Miller
3eb6a1d676
Remove unused block arguments
2019-04-06 17:20:12 -06:00
Michael Miller
53bfcc25ef
Add Ameba and address code linting issues
2019-04-06 17:19:02 -06:00
Michael Miller
365bd1ec2f
Fix failing tests
2019-04-06 12:48:41 -06:00
Michael Miller
2ea69d2355
Add spec for array matcher
2019-03-30 18:38:06 -06:00
Michael Miller
cd60fae157
Add respond_to matcher
2019-03-28 23:20:32 -06:00
Michael Miller
aabc25ad4f
Change formatters to take nillable profile
2019-03-25 16:05:38 -06:00
Michael Miller
35b887f8f0
Add placeholders for profile functionality
2019-03-25 12:13:11 -06:00
Michael Miller
2ff9505766
Add filter to TestSuite
2019-03-25 11:35:39 -06:00
Michael Miller
d1767ebb7a
Add CompositeExampleFilter
2019-03-25 11:10:27 -06:00
Michael Miller
481319c097
Add NullExampleFilter
2019-03-25 10:58:49 -06:00
Michael Miller
a3c1892465
Move example filters from === to their own types
2019-03-25 10:51:50 -06:00
Michael Miller
8c66f8df34
Add ExampleFilter class
2019-03-23 22:03:49 -06:00
Michael Miller
2f8b4761de
Make Example comparable against names and sources
...
This will be needed for filtering examples.
2019-03-23 21:40:13 -06:00
Michael Miller
4f3ca20741
Parse source strings
2019-03-23 20:47:41 -06:00
Michael Miller
268db53bf8
Use more sensible label for non-labeled procs
2019-03-23 20:23:31 -06:00
Michael Miller
4890cafefa
Ability to enumerate each result in report
2019-03-23 14:44:00 -06:00
Michael Miller
4d38bf3ab2
Add secondary initializer
2019-03-23 14:38:51 -06:00
Michael Miller
209ef92d3d
Implement "fail-blank" into runner and report
2019-03-22 13:41:46 -06:00
Michael Miller
2b71400d9a
Remove tests that had a prefixed actual value
2019-03-22 13:05:24 -06:00
Michael Miller
c156c55c72
Inspect the underlying value
...
This is needed because MatchDataValue is now a class instead of a
struct.
2019-03-22 11:55:04 -06:00
Michael Miller
e7e1d0e084
Change how values are passed to helper
...
Working around a segfault (dunno why this fixes it).
2019-03-22 11:53:20 -06:00
Michael Miller
d705ef657c
Update specs to handle new match data values
2019-03-22 11:41:39 -06:00
Michael Miller
3dd39f17f5
Fix Expectation spec
2019-03-22 11:07:56 -06:00
Michael Miller
33841e8888
Sub-type value modifier from MatchDataValue
...
This includes renaming the types.
2019-03-22 10:55:57 -06:00
Michael Miller
a31d5c8b5b
Implement fail-fast in runner
...
Report tracks number of omitted tests due to abort.
2019-03-22 00:05:53 -06:00
Michael Miller
9e63c20df2
Add fail-fast to config
2019-03-21 23:40:00 -06:00
Michael Miller
f2558fd09e
Add spec for ExceptionMatcher
2019-03-21 22:50:02 -06:00
Michael Miller
d0da584f5e
Add tests for Color formatting module
2019-03-14 19:42:30 -06:00
Michael Miller
0ca0ba0a55
Fix tests to account for negation wrappers
2019-03-07 16:12:23 -07:00
Michael Miller
a9d1f1aabc
Workaround for mashup of compile-time types
2019-03-06 18:40:57 -07:00
Michael Miller
018e3232cd
Update RangeMatcher to use MatchData
...
There is a compilation error.
It appears that since the last Matcher#match method has been
implemented,
Crystal is finally grouping all of the NamedTuples together.
2019-03-06 15:01:00 -07:00
Michael Miller
fbee1d9461
Update RegexMatcher to use MatchData
2019-03-06 13:10:16 -07:00
Michael Miller
f29aba42d2
Update TruthyMatcher to use MatchData
2019-03-06 13:04:18 -07:00
Michael Miller
5fd1547ced
Fix verbage around failure message
2019-03-06 12:01:32 -07:00
Michael Miller
6e62ccdfc5
Update TypeMatcher to use MatchData
2019-03-06 11:19:57 -07:00
Michael Miller
81e20b13ec
Update PredicateMatcher to use MatchData
2019-03-06 11:05:13 -07:00
Michael Miller
6ab2aad532
Update HaveMatcher to use MatchData
2019-03-06 10:29:00 -07:00
Michael Miller
a78b80ed1f
Update StartWithMatcher to use MatchData
2019-03-06 09:33:36 -07:00
Michael Miller
76d09a22ff
Update HaveValueMatcher to use MatchData
2019-03-06 02:19:12 -07:00
Michael Miller
3f1d8751fe
Update HaveKeyMatcher to use MatchData
2019-03-06 02:02:55 -07:00
Michael Miller
95b4a349da
Update InequalityMatcher to use MatchData
2019-03-05 19:00:49 -07:00
Michael Miller
d35a739e60
Update LessThanMatcher to use MatchData
2019-03-05 16:53:15 -07:00
Michael Miller
f846408848
Update LessThanEqualMatcher to use MatchData
2019-03-05 16:37:51 -07:00
Michael Miller
36d3bd0a70
Update GreaterThanMatcher to use MatchData
2019-03-05 16:28:29 -07:00
Michael Miller
83d398465f
Update GreaterThanEqualMatcher to use MatchData
...
Add PrefixedValue type to help convey values better (without string
concat).
2019-03-05 15:39:30 -07:00
Michael Miller
0288e1d6f8
Add tests for match data values
2019-03-05 14:00:14 -07:00
Michael Miller
7b0f607a6a
Update EndWithMatcher to use MatchData
2019-03-04 20:16:21 -07:00
Michael Miller
1090a7f2f3
Fix botched copy/paste
2019-03-04 18:30:18 -07:00
Michael Miller
e7441df159
Update AttributesMatcher to use MatchData
...
This is a glorious mess.
2019-03-04 16:06:20 -07:00
Michael Miller
df663d30d9
Update EmptyMatcher to use MatchData
2019-03-03 20:21:39 -07:00
Michael Miller
be3218bcd8
Update ContainMatcher to use MatchData
2019-03-03 20:03:20 -07:00
Michael Miller
1db5341f4b
Add tests for match data values
2019-03-03 19:31:39 -07:00
Michael Miller
e38bcd544a
Update CaseMatcher to use MatchData
2019-03-03 19:05:20 -07:00
Michael Miller
50a782b803
Minor adjustments to equality matcher
2019-03-03 12:26:31 -07:00
Michael Miller
ec06daaf35
Test values returned by match data
2019-03-03 12:13:35 -07:00
Michael Miller
daf2f43f25
Rename module from Formatters to Formatting
2019-02-28 19:14:03 -07:00
Michael Miller
4e3290ebfe
Initial code to get match data values to output
...
Expose the match data values through the Expectation class.
2019-02-28 16:35:50 -07:00
Michael Miller
6942e70024
Remove unnecessary type specification
2019-02-28 15:18:56 -07:00
Michael Miller
65dd6243dd
Rename to match class name
2019-02-28 15:17:50 -07:00
Michael Miller
5ba03a90ff
Swap label and expected value parameters
...
This matches the partial initializer parameters.
Also cleaned up some code in the Expectation spec.
2019-02-28 15:17:12 -07:00
Michael Miller
b4af87f903
Fix fallout from last commit in Expectation spec
...
All tests pass in this commit!
2019-02-28 13:52:01 -07:00
Michael Miller
e6ce54202d
Remove Matcher methods moved to MatchData
...
Update spec for EqualityMatcher to reflect this.
2019-02-28 13:47:50 -07:00
Michael Miller
94cbb9860a
Update NilMatcher to use MatchData and #match
2019-02-28 11:31:05 -07:00
Michael Miller
0dd66c8803
Update Expectation spec to use new parameters
2019-02-28 11:07:16 -07:00
Michael Miller
26187a0f31
Fix oddity with type being unresolvable
2019-02-27 22:20:57 -07:00
Michael Miller
c1f61d68bf
Use MatchData
2019-02-26 20:29:04 -07:00
Michael Miller
e92b1dc466
Add #failed? method to Report
2019-02-22 15:09:55 -07:00
Michael Miller
919e2b96f6
Update specs for new Result#call functionality
2019-02-20 21:17:27 -07:00
Michael Miller
a015f30769
Add tests for Source#spec and update #to_s tests
2019-02-17 21:24:31 -07:00
Michael Miller
dc7d5fbe25
Lazy iterate over failures and errors
...
Return iterator from #failures and #errors methods in Report.
Update spec to reflect this.
2019-02-17 20:09:13 -07:00
Michael Miller
6cc3c5e20b
Add tests for adding/omitting the space in #to_s
2019-02-17 17:03:57 -07:00
Michael Miller
fe083b0f74
Update specs to handle and test symbolic components
2019-02-17 16:39:23 -07:00
Michael Miller
6a8d447570
Add tests for Result#call implementations
2019-02-17 14:40:05 -07:00
Michael Miller
0b06e72f7e
Simplify method chains by using #compact_map
2019-02-17 13:40:10 -07:00
Michael Miller
5722d18db9
Update or remove tests using result predicate methods
2019-02-17 13:35:24 -07:00
Michael Miller
ed01a95e67
Replace source file and line with source struct
2019-02-17 12:40:16 -07:00
Michael Miller
ffca0316a4
Add spec for source class
2019-02-17 12:32:15 -07:00
Michael Miller
7504536528
Remove conflicting duplicate #new_pending_result
2019-02-15 22:19:34 -07:00
Michael Miller
88c32b697b
Add tests for source file and line
2019-02-14 19:35:42 -07:00
Michael Miller
1507a447c8
Update specs to use new source arguments
...
Used `new_partial` where the underlying partial didn't matter for the
test.
2019-02-14 17:04:59 -07:00
Michael Miller
36c98db0ae
Update spec helpers to have source information
2019-02-14 15:41:59 -07:00
Michael Miller
f19b33d7a2
Add spec for Report and fix some bugs
2019-02-14 14:25:46 -07:00
Michael Miller
6151912fa6
Add spec for test suite
2019-02-12 22:33:48 -07:00
Michael Miller
493e30acee
Remove elapsed time from pending results
2019-02-12 16:36:06 -07:00
Michael Miller
577877e067
Add spec for runner
...
Added a spy for detecting when formatter methods are called.
2019-02-12 16:10:14 -07:00
Michael Miller
50bc1af816
Method for creating groups of spy examples
2019-02-12 13:45:19 -07:00
Michael Miller
1f2f7f2214
Add spec for have_value
matcher
2019-02-05 19:37:41 -07:00
Michael Miller
da9e653a89
Add spec for have_key
matcher
2019-02-05 19:26:46 -07:00
Michael Miller
8a09ddac04
Add spec for predicate matcher
2019-02-05 10:36:59 -07:00
Michael Miller
5da222d7a0
Whitespace
2019-02-04 16:27:40 -07:00
Michael Miller
71427e4f6b
Use spy to test that matchers use === operator
2019-02-04 16:26:53 -07:00
Michael Miller
e42e5b30bb
Fix test
2019-02-04 16:20:35 -07:00
Michael Miller
75c4bcad54
Add spec for have_attributes
matcher
2019-02-04 16:19:39 -07:00
Michael Miller
ade4af0153
Add tests for multiple arguments
2019-02-01 20:44:25 -07:00
Michael Miller
239779135f
Fix have
matcher tests for multiple arguments
2019-02-01 20:29:13 -07:00
Michael Miller
4043a76a07
Add tests for multiple arguments
2019-02-01 19:56:46 -07:00
Michael Miller
acea12cafb
Fix contain
matcher tests for multiple arguments
2019-02-01 19:45:30 -07:00
Michael Miller
196b4d97a5
Add spec for have
matcher
2019-02-01 16:43:18 -07:00
Michael Miller
2a91191a6b
Add spec for contain
matcher
2019-01-31 23:12:48 -07:00
Michael Miller
5f9c0385ad
Check for mentions of first and last
2019-01-31 22:13:50 -07:00
Michael Miller
a91758b3f3
Add spec for end_with
matcher
2019-01-31 22:11:38 -07:00
Michael Miller
e6e4f28a4c
Add spec for start_with
matcher
2019-01-31 19:36:35 -07:00
Michael Miller
3731b6d785
Remove BlockExpectation
2019-01-31 13:32:34 -07:00
Michael Miller
ff4e148509
Rename ValueExpectation to Expectation in tests
2019-01-31 13:30:09 -07:00
Michael Miller
2863ae7dfe
Add spec for block expectation and partial
2019-01-28 16:03:33 -07:00
Michael Miller
651127f2d4
Add spec for empty matcher
...
Mark question matchers as done (for now).
More may be added later if they're common.
2019-01-26 17:09:24 -07:00
Michael Miller
aa94ec0e33
Sub-types should be not match
2019-01-26 16:44:46 -07:00
Michael Miller
3bfaa07d4f
Add spec for nil matcher
2019-01-26 16:41:21 -07:00
Michael Miller
c3d7aef7a9
Add a couple of type tests
2019-01-26 16:34:58 -07:00
Michael Miller
12864492b7
Add spec for range modifier methods
2019-01-25 13:52:41 -07:00
Michael Miller
ac08806010
Add spec for RangeMatcher
2019-01-25 13:12:34 -07:00
Michael Miller
6a91b3e399
Formatting
2019-01-25 11:09:11 -07:00
Michael Miller
e33ce5c182
Implement remaining pending tests
2019-01-25 11:08:57 -07:00
Michael Miller
6665e4d396
Implement some pending tests
2019-01-24 22:36:05 -07:00
Michael Miller
cbb4c18668
Formatting
2019-01-23 23:16:18 -07:00
Michael Miller
a869d4f23f
More pending tests to implement
2019-01-23 23:14:34 -07:00
Michael Miller
f0a972ed06
Start on some condition tests
2019-01-23 23:01:16 -07:00
Michael Miller
c31557e8ff
Move everything in BeComparison to TruthyMatcher
...
This is to match RSpec's ability to use "be" by itself.
For instance: `expect(foo).to be`
2019-01-23 22:10:03 -07:00
Michael Miller
2758ba7643
Add spec for BeComparison
2019-01-23 21:36:52 -07:00
Michael Miller
f09aaf59e6
Formatting
2019-01-23 21:11:01 -07:00
Michael Miller
06ee53a7b6
Add spec for GreaterThanEqualMatcher
2019-01-23 21:10:17 -07:00
Michael Miller
e3d9b55ae7
Add spec for GreaterThanMatcher
2019-01-23 21:08:52 -07:00
Michael Miller
99991de2da
Add spec for LessThanEqualMatcher
2019-01-23 21:05:50 -07:00
Michael Miller
06bb969061
Add spec for LessThanMatcher
2019-01-23 21:03:44 -07:00
Michael Miller
d86b9dad11
Add spec for InequalityMatcher
2019-01-23 21:02:44 -07:00
Michael Miller
73c4334246
Use macros to create methods for all watched operators
2019-01-23 21:02:32 -07:00
Michael Miller
95b0563f73
Add spec for TruthyMatcher
2019-01-23 16:06:18 -07:00
Michael Miller
41729217bb
Add tests for pre- and post-conditions in groups
2019-01-23 15:12:09 -07:00
Michael Miller
37c45eb285
Shorten pre and post usage
2019-01-23 14:46:15 -07:00
Michael Miller
a32b511e0b
Add spec for match
(regex) matcher
2019-01-19 14:49:13 -07:00
Michael Miller
19da933c2f
Add spec for be_a
matcher
2019-01-19 14:29:07 -07:00
Michael Miller
f2569ea3a0
Add spec for be
matcher
2019-01-19 13:50:57 -07:00
Michael Miller
db89a99562
Add specs for ExampleConditions
2019-01-17 14:14:10 -07:00
Michael Miller
d9363fc8a7
Update existing specs to support conditions
2019-01-11 10:09:40 -07:00
Michael Miller
191eb02cbe
Add dummy instance values
2019-01-01 17:06:24 -07:00
Michael Miller
c1b27bb672
Rename "given" to "sample"
...
This falls in line with the `SampleValues` type.
It also frees up the keyword "given" to be used for something else.
2018-12-27 11:15:44 -07:00
Michael Miller
3573845dc2
Finally implement pending test
2018-12-13 14:53:04 -07:00
Michael Miller
77efdd84be
Use tuples instead of parallel arrays
2018-12-13 14:48:20 -07:00
Michael Miller
5a87753c7d
Add test for SampleValues#each
2018-12-13 14:41:22 -07:00
Michael Miller
ef12e3967b
Add checks for cause of hook error
...
Fix some tests that had copy/paste mistakes.
2018-12-07 23:07:04 -07:00
Michael Miller
ef490c78b0
Fix test
2018-12-07 23:01:08 -07:00
Michael Miller
d710929479
Fix collateral damage from rev aeebbaa
2018-12-07 22:53:17 -07:00
Michael Miller
22f32eb03e
Fix tests that had issues setting children
2018-12-07 22:42:52 -07:00
Michael Miller
2aa7a75eea
Implement remaining hook error tests
2018-12-07 22:05:23 -07:00
Michael Miller
99de2335aa
More tests for exceptions in hooks
2018-12-07 17:02:53 -07:00
Michael Miller
e87f0b5e64
Ability to pass custom hooks to SpyExample
2018-12-07 17:02:07 -07:00
Michael Miller
f20a0e2241
Formatting
2018-12-05 20:27:31 -07:00
Michael Miller
2ce599d6a4
Some initial work on runnable example tests
2018-12-05 20:25:11 -07:00
Michael Miller
06230f128d
Add example for producing errors
2018-12-05 20:25:11 -07:00
Michael Miller
712aa99fed
Adjust tests to use new hook methods
2018-12-05 20:21:19 -07:00
Michael Miller
e0f5862960
Add missing proc call
2018-11-26 14:27:32 -07:00
Michael Miller
3207b7c8d2
Add tests for hooks
2018-11-26 14:21:43 -07:00
Michael Miller
1193fdc8ff
Add spec for PendingExample
2018-11-26 14:01:15 -07:00
Michael Miller
b414438627
Add spec for RootExampleGroup
2018-11-23 11:20:28 -07:00
Michael Miller
d117f487a3
Implement remaining tests
2018-11-20 20:56:33 -07:00
Michael Miller
e1501c3416
Some tests for NestedExampleGroup
2018-11-20 16:34:48 -07:00
Michael Miller
c68cd7e16a
Move example hooks helper methods to their own file
2018-11-20 14:51:11 -07:00
Michael Miller
7517042195
Add spec for ExpectationFailed
2018-11-20 12:55:37 -07:00
Michael Miller
b8ee29ab0e
Formatting
2018-11-20 12:48:19 -07:00
Michael Miller
1802f27f68
Add spec for ExampleIterator
2018-11-20 12:47:55 -07:00
Michael Miller
101489ea19
Add spec for ExampleHooks
2018-11-19 22:51:59 -07:00
Michael Miller
d576e4a1fa
Missing # prefix for #to_not and #not_to
2018-11-19 22:00:45 -07:00
Michael Miller
05c3a75683
Add specs for result types
2018-11-16 11:39:07 -07:00
Michael Miller
ee2491fef8
Down-cast to preven type issues when inferring arrays
2018-11-16 11:38:50 -07:00
Michael Miller
195e34d360
Add tests for #to and #to_not
2018-11-14 13:10:42 -07:00
Michael Miller
49deb96a11
Capture harness in spy example
2018-11-14 12:58:32 -07:00
Michael Miller
4a531bd83f
Move PassingExample to its own file
...
Missed this one when moving code around before.
2018-11-14 12:55:21 -07:00
Michael Miller
f0204a32ea
Fix specs to work with new Expectation type
2018-11-14 02:15:55 -07:00
Michael Miller
66dcc21383
Move helper methods and classes to their own directory
2018-11-09 11:20:30 -07:00
Michael Miller
2f525d49ef
Add spec for GivenExampleGroupBuilder
2018-11-02 20:17:59 -06:00
Michael Miller
14ee762ad7
Add test for value of "what"
...
Minor changes to remove unused parts.
2018-11-02 18:23:04 -06:00
Michael Miller
c8609ab609
Formatting
2018-11-02 15:35:57 -06:00
Michael Miller
7ce732a828
Add spec for NestedExampleGroupBuilder
2018-11-02 15:35:50 -06:00
Michael Miller
1657518deb
Add spec for RootExampleGroupBuilder
2018-11-02 15:28:51 -06:00
Michael Miller
ffdc0c40ac
Add spec for ExampleFactory
2018-11-01 20:25:38 -06:00
Michael Miller
8e7f5cf82b
Capture sample values for tests
2018-11-01 20:23:28 -06:00
Michael Miller
29219c8b8c
Formatting
2018-10-23 10:51:50 -06:00
Michael Miller
dbcf9ec57d
Add spec for TypedValueWrapper
2018-10-23 10:49:52 -06:00
Michael Miller
c711115023
Add spec for SampleValues
2018-10-23 10:42:18 -06:00
Michael Miller
3382084f03
Implement remaining harness specs
2018-10-22 10:49:42 -06:00
Michael Miller
5a4b4817b4
More tests for the harness
2018-10-21 08:10:59 -06:00
Michael Miller
4ab97bd215
Group children must be set
2018-10-20 22:56:24 -06:00
Michael Miller
16519db9bb
Rename #report_results to #generate_results
2018-10-20 20:13:47 -06:00
Michael Miller
2992a18992
Some initial specs for the harness
2018-10-19 20:30:27 -06:00
Michael Miller
36071fcdbf
Sanity check on expectations
2018-10-19 18:20:42 -06:00
Michael Miller
67e192edc6
Implement ExpectationResults specs and fix typo
2018-10-19 16:27:59 -06:00
Michael Miller
703a791f78
Formatting changes
2018-10-19 14:02:27 -06:00
Michael Miller
1064444f15
DRY up code by adding expectation helper methods
2018-10-19 13:54:32 -06:00
Michael Miller
440a2c6643
Structure for ExpectationResults spec
2018-10-19 13:28:44 -06:00
Michael Miller
7d08d38659
Add specs for ExpectationReporter
...
There is currently a segfault with this test code.
The issue will be addressed in the next commit.
2018-10-19 13:03:13 -06:00
Michael Miller
15ac60b17b
Remove unecessary #to_s calls
2018-10-19 11:01:22 -06:00
Michael Miller
7f4690b042
Secondary initializer for missing label
...
Label is set to actual/expected stringified value if omitted.
2018-10-18 21:52:00 -06:00
Michael Miller
9a77f8b7fd
Add specs for value expectation
...
Fix bug in expectation result actual message.
2018-10-18 17:54:43 -06:00
Michael Miller
bc66016c42
Add specs for equality matcher
2018-10-18 13:46:12 -06:00
Michael Miller
3196b724bf
Some initial specs for expectation partials
2018-10-15 15:45:32 -06:00
Michael Miller
c77a85c97a
Flag to disable running tests
...
This is needed for testing Spectator.
2018-10-15 00:32:29 -06:00
Michael Miller
630e537726
Initial commit
2018-08-18 15:33:20 -06:00