Commit graph

474 commits

Author SHA1 Message Date
Michael Miller
b3fa2e3bfe
Address Ameba issues 2022-03-19 17:22:13 -06:00
Michael Miller
b83c6b7b1e
Remove or skip mock, double, and stub tests 2022-03-19 17:20:15 -06:00
Michael Miller
0c7f72dc78
Test handling of blocks in doubles 2022-03-19 17:04:51 -06:00
Michael Miller
043ebd818f
Fix argument order 2022-03-19 16:42:14 -06:00
Michael Miller
17e97cb39a
Explode method expansion
Somewhere along the way the block argument gets dropped.
Even though `method` is a `Def` that accepts a block, the `&block` portion is dropped.
Possible Crystal compiler bug.
2022-03-19 16:13:11 -06:00
Michael Miller
99aa8afdce
Add as_null_object method 2022-03-19 14:41:45 -06:00
Michael Miller
5d21e4bb71
Remove double_dsl_spec 2022-03-19 14:27:00 -06:00
Michael Miller
3fa6baea4d
Test mixing block and keyword stubs 2022-03-19 12:52:23 -06:00
Michael Miller
9091b8d027
Literally inject stubs from double block 2022-03-19 12:28:00 -06:00
Michael Miller
f1daecd25f
Initial spec for double DSL 2022-03-19 11:41:29 -06:00
Michael Miller
4f7a4a3453
Avoid issue with TypeCastError message
For some reason, attempting to get the class of the stubbed value causes a segfault.
This appears to get swallowed in some cases.
Trying to inspect the value was difficult without triggering some error.
In the failing case, the value is 42 (returned by a stubbed foo method).
The method is supposed to return a String, and this error checking should be triggered (line 119).
The value is a union, and inspecting the bytes contained in it looks like it's prefixed with the Crystal type ID for Int32.
However it looks like Crystal tries to treat it as a Bool? I'm not sure.
Very weird behavior and instead of wasting more time on it, I'm omitting the returned type from the error.
This type of casting error shouldn't be common.
This seems like a Crystal bug, but I'm having a hard time distilling the issue.
2022-03-16 22:40:24 -06:00
Michael Miller
b68c75dda5
Add tests around problematic issues in NullDouble to Double 2022-03-16 21:10:47 -06:00
Michael Miller
280f117e23
Use TypedStub instead of ValueStub
Test possible issues around stub returning nil
2022-03-16 21:07:20 -06:00
Michael Miller
332ab1cebc
Smarter handling of stub fallback 2022-03-15 22:46:43 -06:00
Michael Miller
5ad29f486f
Better formatting for empty arguments 2022-03-12 17:49:07 -07:00
Michael Miller
ca827a3c52
Initial work on null (object) double 2022-03-12 17:07:34 -07:00
Michael Miller
1e7e31ff97
Use true instead of false
It's more obvious the stub worked when same? reports true for different objects.
2022-03-12 15:52:48 -07:00
Michael Miller
ea46af00a6
Add method to define stubs 2022-03-12 14:31:19 -07:00
Michael Miller
5b1a5cd49d
Update tests to use new Double usage 2022-03-12 13:54:40 -07:00
Michael Miller
76c1d6a096
Some rework of stubs and doubles 2022-03-12 09:39:32 -07:00
Michael Miller
7c8db07eda
Test ValueStub 2022-03-05 20:57:43 -07:00
Michael Miller
ae14a47329
Rename Response to Stub 2022-03-05 20:09:56 -07:00
Michael Miller
ced98778a4
Document and test MethodCall 2022-03-05 16:15:42 -07:00
Michael Miller
13f185b801
Capture and report arguments in exception message 2022-03-05 16:06:01 -07:00
Michael Miller
75ccda0a86
Test responses on inherited methods 2022-03-05 15:39:35 -07:00
Michael Miller
ac007f8565
Test response constraints 2022-03-05 15:00:11 -07:00
Michael Miller
2adc867843
Initial work on response constraints 2022-03-05 10:41:39 -07:00
Michael Miller
de7cd90d11
Add type capturing arguments 2022-03-04 17:16:45 -07:00
Michael Miller
5644d54470
Support double names 2022-03-03 22:31:40 -07:00
Michael Miller
26deea3d20
Initial work on Double 2022-03-03 22:10:09 -07:00
Michael Miller
eb8bd88927
Handle case with typeless block
Fixes syntax:
`stub method(&block)`

To stub a block with args, use:
`stub method(&block : Type -> Type)`

Addresses https://github.com/icy-arctic-fox/spectator/issues/42
2022-02-21 18:17:44 -07:00
Michael Miller
92e839415d
Fix sample iteration with single block arg (not tuple) 2022-01-26 13:14:30 -07:00
Michael Miller
4057089c20
Support multiple block arguments in sample block
https://github.com/icy-arctic-fox/spectator/issues/41#issuecomment-1010192486
2022-01-11 15:53:53 -07:00
Michael Miller
c1841526d4
Test string interpolation with sample 2022-01-10 21:49:54 -07:00
Michael Miller
dd49fe3a67
Support string interpolation for example names 2022-01-10 21:29:05 -07:00
Michael Miller
941b91fef4
Spelling 2022-01-10 21:10:36 -07:00
Michael Miller
be79367256
Formatting 2022-01-07 17:27:25 -07:00
Michael Miller
9d4a5886e5
Reorganize some specs 2021-10-09 13:39:44 -06:00
Michael Miller
2f6ef4b578
Fix accidental check-in from testing 2021-08-19 13:16:50 -06:00
Michael Miller
dd0ef01369
Initial code for HTML formatter 2021-08-18 17:50:09 -06:00
Michael Miller
01d1a8736e
Mark slow compilation tests 2021-08-18 15:57:39 -06:00
Michael Miller
f53ffabf6b
Support label for aggregate_failures block 2021-07-31 12:04:43 -06:00
Michael Miller
4c125d98d4
Implement aggregate_failures 2021-07-31 11:56:53 -06:00
Michael Miller
9a97596b84
Allow named arguments in provided block 2021-07-31 10:15:16 -06:00
Michael Miller
e8413db33f
Support custom messages for failed expectations
Fixes https://gitlab.com/arctic-fox/spectator/-/issues/28
2021-07-17 17:42:25 -06:00
Michael Miller
6c55301d0b
Merge remote-tracking branch 'origin/master' into release/0.10 2021-07-11 00:16:25 -06:00
Michael Miller
7210b8e11c
Test class method usage 2021-07-10 23:04:02 -06:00
Michael Miller
766b6b17c7
Add test for https://github.com/icy-arctic-fox/spectator/issues/33 2021-07-10 22:51:47 -06:00
Michael Miller
dba20757f3
Add test for https://github.com/icy-arctic-fox/spectator/issues/32 2021-07-10 22:44:43 -06:00
Michael Miller
aa12cdf17c
Introduce non-expectation error ExampleFailed
Used by fail method.
Still todo: Output from failed example is missing because there are no 
expectations.
2021-07-10 03:32:55 -06:00
Michael Miller
6a01ab3531
Merge master into release/0.10 2021-07-05 11:32:45 -06:00
Michael Miller
f728ab6ad7
Add test case handling NoReturn stub and top-level methods (exit)
Fixes https://github.com/icy-arctic-fox/spectator/issues/29
2021-07-02 21:55:42 -06:00
Michael Miller
a0537484f4
Allow creation of doubles without a definition
Utilizes anonymous doubles to implement this.
Fixes https://github.com/icy-arctic-fox/spectator/issues/30
2021-07-02 19:18:14 -06:00
Michael Miller
e3f6fb3c7c
Add no_args support for stubs
Fixes https://github.com/icy-arctic-fox/spectator/issues/28
2021-07-02 18:43:39 -06:00
Michael Miller
dcdc64e134
Specify skip reason 2021-06-11 19:30:23 -06:00
Michael Miller
103597a7be
Update runtime JSON parsing to use new structure 2021-06-02 23:59:42 -06:00
Michael Miller
f24d634ccb
Merge branch 'release/0.10' into specs 2021-04-26 17:19:25 -06:00
Michael Miller
29594eefab
Merge branch 'master' into release/0.10 2021-04-26 11:19:08 -06:00
Michael Miller
93e270f87a
Support variables and methods for type matcher (be_a).
Addresses https://github.com/icy-arctic-fox/spectator/issues/25
2021-04-17 09:38:29 -06:00
Michael Miller
d612657b15
Merge branch 'release/0.10' into specs 2021-03-31 15:28:16 -06:00
Michael Miller
3d702f9bc6
Merge branch 'master' into release/0.10 2021-03-31 15:19:30 -06:00
matthewmcgarvey
91ea9e6cab Comment out failing expectation with reference to open issue 2021-03-30 15:31:23 -04:00
matthewmcgarvey
8fafd2467d Allow matching any line number of example in filter 2021-03-30 00:18:08 -04:00
Michael Miller
79d6ad93b3
Avoid using subject with structs 2021-02-13 17:33:52 -07:00
Michael Miller
4af23751bc
Add specs for value types 2021-02-13 13:30:05 -07:00
Michael Miller
7d5c9edab7
Use cast as workaround 2021-02-13 11:44:51 -07:00
Michael Miller
35946dc993
Test value types 2021-02-09 22:50:21 -07:00
Michael Miller
7a5f7adfc2
Change Anything to only use case equality 2021-02-09 21:18:20 -07:00
Michael Miller
a20f2d4f98
Test and improve "Anything" 2021-02-09 19:10:11 -07:00
Michael Miller
2c33e96dd4
Fix parsing passing spec 2021-01-30 20:14:25 -07:00
Michael Miller
d3ad0963cd
Minor fixes 2021-01-30 17:31:50 -07:00
Michael Miller
2ecd4ded6d
Fix line numbers being wrong with macro expansion
Addresses https://github.com/icy-arctic-fox/spectator/issues/18
2021-01-08 15:32:15 -07:00
Michael Miller
d31b8f4093
Disable false warning from Ameba
spec_helper_path is actually used by the ECR template.
2020-08-16 12:10:32 -06:00
Michael Miller
62fd289b0f
Add ability to test expectations directly 2020-08-16 12:04:45 -06:00
Michael Miller
fab216419c
Capture expectations 2020-08-16 11:39:54 -06:00
Michael Miller
14608c8b2d
Change to struct 2020-08-16 11:00:46 -06:00
Michael Miller
5688e58025
Initial runtime test compilation
Allows for compiling single examples at runtime.
2020-08-16 10:59:15 -06:00
Michael Miller
414f132f49 Add missing require statement 2020-05-09 14:12:40 -06:00
Michael Miller
5c24d606dd Add specs of snippets from docs 2020-03-28 10:50:58 -06:00
Michael Miller
e92aa7ed57 Implicit subject should not use .new with modules
Fixes GitHub issue https://github.com/icy-arctic-fox/spectator/issues/6
2020-02-22 22:59:09 -07:00
Davide Paolo Tua
83ac420273 Add test for fix, fix test for range_matcher 2020-02-21 13:19:27 +01:00
Michael Miller
cacca99c0b Formatting 2020-01-20 20:32:14 -07:00
Michael Miller
721425c3c8 Run deferred expectations after all hooks 2020-01-20 20:15:49 -07:00
Michael Miller
1e3d89884b Add some RSpec docs tests for hooks 2020-01-20 20:11:19 -07:00
Michael Miller
60f1c3091b Allow be matcher to be used on structs 2020-01-19 22:39:21 -07:00
Michael Miller
3d08949c94 Add helper method specs from RSpec docs 2020-01-19 22:24:28 -07:00
Michael Miller
b1984b343a Add should keywords to examples
Allows short-hand like:
it { should be_empty }
2020-01-19 22:12:06 -07:00
Michael Miller
8381c08b05 Add subject specs 2020-01-19 22:05:38 -07:00
Michael Miller
64f6456935 Merge branch 'specs' 2020-01-19 09:52:41 -07:00
Michael Miller
15f211c4b6 Add it_fails to handle expected failures 2020-01-17 22:41:38 -07:00
Michael Miller
e3a4dedfc6 Add RSpec respond_to matcher spec 2020-01-17 22:14:25 -07:00
Michael Miller
ed48b80d58 Add RSpec raise_error matcher spec 2020-01-17 21:58:29 -07:00
Michael Miller
596f7e87c8 Formatting 2020-01-17 09:27:48 -07:00
Arina Shmeleva
cf448576e2 Add test for subject 2020-01-17 00:49:59 +03:00
Michael Miller
6a0a73ca76 Add RSpec match matcher spec 2020-01-06 23:05:31 -07:00
Michael Miller
b433511201 Add RSpec include/contain matcher spec 2020-01-06 22:51:47 -07:00
Michael Miller
6ad861365c Add RSpec have_attributes matcher spec 2020-01-06 22:33:52 -07:00
Michael Miller
f23141b3e1 Add RSpec start_with and end_with matchers specs 2020-01-06 22:19:09 -07:00
Michael Miller
7868755eee Add RSpec cover matcher spec 2020-01-05 23:02:09 -07:00
Michael Miller
5bbaad36d2 Add RSpec contain_exactly matcher spec 2020-01-05 11:42:43 -07:00
Michael Miller
26656b7c12 Add RSpec change matcher spec 2020-01-05 10:35:35 -07:00
Michael Miller
e17435f6e8 Add RSpec be_within matcher spec 2020-01-05 10:28:21 -07:00
Michael Miller
1f7ac79c78 Add RSpec be matchers spec 2020-01-05 00:29:10 -07:00
Michael Miller
80c4e97c29 Add RSpec all matchers spec 2020-01-05 00:12:57 -07:00
Michael Miller
42ef2cc904 Add RSpec type matchers spec 2020-01-04 12:47:23 -07:00
Michael Miller
2538f3a9a4 Add RSpec predicate matchers spec 2020-01-04 09:58:53 -07:00
Michael Miller
7f8d9d5ef3 Add comparison tests from RSpec docs 2020-01-02 20:00:51 -07:00
Michael Miller
9f91e3a266 Add tests for equality matcher 2020-01-01 21:58:37 -07:00
Michael Miller
0a6493964d Allow auto-run of Spectator
Needed to test Spectator with itself.
2020-01-01 21:50:08 -07:00
Michael Miller
2c400950a4 Remove specs since they're mostly invalidated by the refactor 2019-09-26 20:52:26 -06:00
Michael Miller
43dc106c18 Add return type annotations
Addresses Crystal compiler warning about abstract method return types.
2019-09-23 20:32:21 -06:00
Michael Miller
adbfb7da7c Use integer division - Crystal 0.31.0 change 2019-09-23 19:38:15 -06:00
Michael Miller
cede88bf0c Update spec with new arguments 2019-08-17 08:24:06 -06:00
Michael Miller
a54e406fec Clean up expectation specs
Removed tests that are no longer valid or non-trivial to update.
2019-08-09 15:32:22 -06:00
Michael Miller
251e3b8774 Remove specs for matchers
Will replace with Spectator-based tests later.
2019-08-09 15:16:01 -06:00
Michael Miller
19d52ff02b Add unordered array matcher 2019-06-12 15:35:33 -06:00
Michael Miller
0eaf8efcc6 Fix copy/paste fail 2019-06-12 13:57:33 -06: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
Michael Miller
0164d2973f Fix predicate tests and add new ones for have_ variant 2019-06-01 23:39:23 -06:00
Michael Miller
e234ac2f31 Test case to ensure runtime type is reported 2019-06-01 20:55:29 -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
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