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
38202ff605
Initial addition of pre- and post-conditions
2019-01-09 16:17:33 -07:00
Michael Miller
6caf5353e0
Update README
...
One-liner and #given DSL are implemented.
2019-01-09 15:10:57 -07:00
Michael Miller
ab90f946d9
Allow "it" syntax in #given block
2019-01-09 15:08:01 -07:00
Michael Miller
17039d44f0
Initial implementation of #given macro
2019-01-09 14:58:10 -07:00
Michael Miller
950fcd250c
Add other syntaxes for #expect method
...
Can now check multiple values in the same #expect call.
Can use method short-hand syntax (&.foo) in #expect call.
2019-01-09 13:59:42 -07:00
Michael Miller
d3bf5eb4b1
Add short-hand #is and #is_not macros
...
These can be used for the one-liner "it" syntax.
2019-01-09 11:28:31 -07:00
Michael Miller
033f753dca
Initial implementation of one-liner "it" syntax
2019-01-02 13:24:30 -07:00
Michael Miller
0c3b3da2b3
Quickly implement #random_sample
by copy-pasting
...
This should be DRY'd up in the future.
2019-01-02 12:45:46 -07:00
Michael Miller
b7d3648256
Clarify that #let
can use expressions
2019-01-02 11:00:38 -07:00
Michael Miller
7f99dcc06f
Add item for pre- and post-conditions
2019-01-01 18:00:24 -07:00
Michael Miller
e6fd716586
Run around_each hooks in same context as example code
2019-01-01 17:58:54 -07:00
Michael Miller
050251b491
before_each and after_each hooks now run in example scope
...
The entire example hooks class hierarchy is no longer needed.
This is an easier implementation than originally planned.
However, this is probably slower than the other method because each hook
has to cast and check the example instance.
2019-01-01 17:51:55 -07:00
Michael Miller
aee3ead578
Revert "Pass current example to before_each and after_each hooks"
...
This reverts commit b5edb1e9f3
.
2019-01-01 17:48:07 -07:00
Michael Miller
191eb02cbe
Add dummy instance values
2019-01-01 17:06:24 -07:00
Michael Miller
b5edb1e9f3
Pass current example to before_each and after_each hooks
2019-01-01 16:56:23 -07:00
Michael Miller
abf7c8831c
Add getter for wrapped instance
2019-01-01 16:40:04 -07:00
Michael Miller
b53e1b60d8
Add BaseExampleHooks class
...
This is the first part in enabling before_each and after_each hooks to
access the example code's scope.
2019-01-01 16:33:07 -07:00
Michael Miller
e0273d660c
Display cause of errors
2018-12-27 15:47:29 -07:00
Michael Miller
c0be260f98
Ability to limit number of items sampled
2018-12-27 15:11:28 -07:00
Michael Miller
18fe2b7aa8
Update README regarding sample
and given
2018-12-27 11:16:50 -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
62549aae88
Functionality to retrieve all sample values
2018-12-13 14:30:11 -07:00
Michael Miller
c73af72c7f
Move formatter to config
2018-12-13 14:16:49 -07:00
Michael Miller
23368f6183
Structure for applying configuration
2018-12-13 13:50:59 -07:00
Michael Miller
9527427b45
Move error message output to another method
2018-12-12 15:33:54 -07:00
Michael Miller
38ec35dd29
Have the DSL builder produce a test suite
2018-12-12 15:27:40 -07:00
Michael Miller
6c5da5a703
Shuffle code around for runner
2018-12-12 15:22:56 -07:00
Michael Miller
c29748ede5
Restructuring how the test suite is driven
2018-12-12 11:48:08 -07:00
Michael Miller
6f5b03dc0f
Add top-level namespace docs
2018-12-10 16:08:25 -07:00
Michael Miller
4e0c821b8f
Add FinishedResult intermediary class
2018-12-10 14:07:14 -07:00
Michael Miller
9e004324c9
Remove shared elapsed time
...
Since PendingResult always returns zero, it's not necessary to store it.
2018-12-10 11:16:43 -07:00
Michael Miller
56e8f8978b
Detect errors in around_each
hooks
2018-12-07 23:28:30 -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
4e57f6adca
Don't run after hooks if an error occurs
2018-12-07 23:01:02 -07:00
Michael Miller
4222603fea
Don't need reference to result anymore
2018-12-07 22:57:31 -07:00
Michael Miller
d710929479
Fix collateral damage from rev aeebbaa
2018-12-07 22:53:17 -07:00
Michael Miller
aeebbaa5b6
Raise error instead of failing test
...
If an error occurs in any hooks, raise it instead of failing the test.
2018-12-07 22:43:26 -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