dchelimsky-rspec 1.1.10 → 1.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +17 -0
- data/Manifest.txt +53 -74
- data/Rakefile +0 -1
- data/examples/{pure → passing}/autogenerated_docstrings_example.rb +6 -0
- data/examples/{pure → passing}/before_and_after_example.rb +0 -0
- data/examples/{pure → passing}/behave_as_example.rb +0 -0
- data/examples/{pure → passing}/custom_expectation_matchers.rb +0 -0
- data/examples/{pure → passing}/custom_formatter.rb +1 -1
- data/examples/{pure → passing}/dynamic_spec.rb +2 -2
- data/examples/{pure → passing}/file_accessor.rb +0 -0
- data/examples/{pure → passing}/file_accessor_spec.rb +0 -0
- data/examples/{pure → passing}/greeter_spec.rb +0 -0
- data/examples/{pure → passing}/helper_method_example.rb +0 -0
- data/examples/{pure → passing}/io_processor.rb +0 -0
- data/examples/{pure → passing}/io_processor_spec.rb +0 -0
- data/examples/{pure → passing}/legacy_spec.rb +0 -0
- data/examples/{pure → passing}/mocking_example.rb +0 -0
- data/examples/{pure → passing}/multi_threaded_behaviour_runner.rb +0 -0
- data/examples/{pure → passing}/nested_classes_example.rb +0 -0
- data/examples/{pure → passing}/partial_mock_example.rb +0 -0
- data/examples/{pure → passing}/pending_example.rb +0 -0
- data/examples/{pure → passing}/predicate_example.rb +0 -0
- data/examples/{pure → passing}/priority.txt +0 -0
- data/examples/{pure → passing}/shared_example_group_example.rb +0 -0
- data/examples/{pure → passing}/shared_stack_examples.rb +1 -3
- data/examples/{pure → passing}/spec_helper.rb +0 -0
- data/examples/{pure → passing}/stack.rb +0 -0
- data/examples/{pure → passing}/stack_spec.rb +3 -2
- data/examples/{pure → passing}/stack_spec_with_nested_example_groups.rb +0 -0
- data/examples/{pure → passing}/stubbing_example.rb +0 -0
- data/examples/{pure → passing}/yielding_example.rb +0 -0
- data/lib/spec/example/before_and_after_hooks.rb +8 -21
- data/lib/spec/example/configuration.rb +45 -45
- data/lib/spec/example/example_group_factory.rb +10 -9
- data/lib/spec/example/example_group_methods.rb +31 -15
- data/lib/spec/example/example_methods.rb +74 -22
- data/lib/spec/example/shared_example_group.rb +27 -16
- data/lib/spec/example.rb +28 -0
- data/lib/spec/expectations.rb +1 -0
- data/lib/spec/extensions.rb +0 -2
- data/lib/spec/matchers/be.rb +96 -114
- data/lib/spec/matchers/operator_matcher.rb +2 -9
- data/lib/spec/matchers/throw_symbol.rb +41 -15
- data/lib/spec/matchers.rb +4 -27
- data/lib/spec/runner/formatter/base_text_formatter.rb +1 -1
- data/lib/spec/runner/option_parser.rb +2 -2
- data/lib/spec/runner/reporter.rb +1 -1
- data/lib/spec/runner.rb +1 -1
- data/lib/spec/version.rb +1 -1
- data/lib/spec.rb +1 -0
- data/rspec.gemspec +4 -24
- data/spec/spec/example/example_group_factory_spec.rb +29 -9
- data/spec/spec/example/example_group_methods_spec.rb +4 -6
- data/spec/spec/example/example_group_spec.rb +0 -6
- data/spec/spec/example/example_matcher_spec.rb +6 -23
- data/spec/spec/example/example_methods_spec.rb +117 -2
- data/spec/spec/example/shared_example_group_spec.rb +51 -75
- data/spec/spec/matchers/be_spec.rb +40 -7
- data/spec/spec/matchers/description_generation_spec.rb +14 -0
- data/spec/spec/matchers/throw_symbol_spec.rb +83 -41
- data/spec/spec/runner/command_line_spec.rb +4 -4
- data/spec/spec/runner/formatter/html_formatted-1.8.4.html +6 -6
- data/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +9 -9
- data/spec/spec/runner/formatter/html_formatted-1.8.5.html +6 -6
- data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +10 -10
- data/spec/spec/runner/formatter/html_formatted-1.8.6.html +6 -6
- data/spec/spec/runner/formatter/html_formatter_spec.rb +1 -1
- data/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +5 -5
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +6 -6
- data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +6 -6
- data/spec/spec/runner/reporter_spec.rb +1 -1
- data/stories/example_groups/autogenerated_docstrings +4 -4
- data/stories/example_groups/nested_groups +2 -2
- metadata +33 -59
- data/examples/stories/adder.rb +0 -13
- data/examples/stories/addition +0 -34
- data/examples/stories/addition.rb +0 -9
- data/examples/stories/calculator.rb +0 -65
- data/examples/stories/game-of-life/.loadpath +0 -5
- data/examples/stories/game-of-life/README.txt +0 -21
- data/examples/stories/game-of-life/behaviour/everything.rb +0 -6
- data/examples/stories/game-of-life/behaviour/examples/examples.rb +0 -3
- data/examples/stories/game-of-life/behaviour/examples/game_behaviour.rb +0 -35
- data/examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb +0 -66
- data/examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story +0 -21
- data/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +0 -21
- data/examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story +0 -42
- data/examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story +0 -42
- data/examples/stories/game-of-life/behaviour/stories/ICanKillACell.story +0 -17
- data/examples/stories/game-of-life/behaviour/stories/TheGridWraps.story +0 -53
- data/examples/stories/game-of-life/behaviour/stories/create_a_cell.rb +0 -52
- data/examples/stories/game-of-life/behaviour/stories/helper.rb +0 -6
- data/examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb +0 -26
- data/examples/stories/game-of-life/behaviour/stories/steps.rb +0 -5
- data/examples/stories/game-of-life/behaviour/stories/stories.rb +0 -3
- data/examples/stories/game-of-life/behaviour/stories/stories.txt +0 -22
- data/examples/stories/game-of-life/life/game.rb +0 -23
- data/examples/stories/game-of-life/life/grid.rb +0 -43
- data/examples/stories/game-of-life/life.rb +0 -3
- data/examples/stories/helper.rb +0 -9
- data/examples/stories/steps/addition_steps.rb +0 -18
- data/failing_examples/README.txt +0 -7
- data/failing_examples/diffing_spec.rb +0 -36
- data/failing_examples/failing_autogenerated_docstrings_example.rb +0 -19
- data/failing_examples/failure_in_setup.rb +0 -10
- data/failing_examples/failure_in_teardown.rb +0 -10
- data/failing_examples/mocking_example.rb +0 -40
- data/failing_examples/mocking_with_flexmock.rb +0 -26
- data/failing_examples/mocking_with_mocha.rb +0 -25
- data/failing_examples/mocking_with_rr.rb +0 -27
- data/failing_examples/partial_mock_example.rb +0 -20
- data/failing_examples/predicate_example.rb +0 -29
- data/failing_examples/raising_example.rb +0 -47
- data/failing_examples/spec_helper.rb +0 -3
- data/failing_examples/syntax_error_example.rb +0 -7
- data/failing_examples/team_spec.rb +0 -44
- data/failing_examples/timeout_behaviour.rb +0 -7
- data/lib/spec/extensions/main.rb +0 -87
- data/lib/spec/extensions/object.rb +0 -6
- data/spec/spec/extensions/main_spec.rb +0 -71
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dchelimsky-rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- RSpec Development Team
|
@@ -11,34 +11,8 @@ cert_chain: []
|
|
11
11
|
|
12
12
|
date: 2008-10-24 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
16
|
-
name: diff-lcs
|
17
|
-
version_requirement:
|
18
|
-
version_requirements: !ruby/object:Gem::Requirement
|
19
|
-
requirements:
|
20
|
-
- - ">="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: "0"
|
23
|
-
version:
|
24
|
-
- !ruby/object:Gem::Dependency
|
25
|
-
name: syntax
|
26
|
-
version_requirement:
|
27
|
-
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
requirements:
|
29
|
-
- - ">="
|
30
|
-
- !ruby/object:Gem::Version
|
31
|
-
version: "0"
|
32
|
-
version:
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: hoe
|
35
|
-
version_requirement:
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 1.8.1
|
41
|
-
version:
|
14
|
+
dependencies: []
|
15
|
+
|
42
16
|
description: Behaviour Driven Development for Ruby.
|
43
17
|
email:
|
44
18
|
- rspec-devel@rubyforge.org
|
@@ -53,7 +27,7 @@ extra_rdoc_files:
|
|
53
27
|
- Manifest.txt
|
54
28
|
- README.txt
|
55
29
|
- TODO.txt
|
56
|
-
- examples/
|
30
|
+
- examples/passing/priority.txt
|
57
31
|
- examples/stories/game-of-life/README.txt
|
58
32
|
- examples/stories/game-of-life/behaviour/stories/stories.txt
|
59
33
|
- failing_examples/README.txt
|
@@ -69,34 +43,34 @@ files:
|
|
69
43
|
- TODO.txt
|
70
44
|
- bin/autospec
|
71
45
|
- bin/spec
|
72
|
-
- examples/
|
73
|
-
- examples/
|
74
|
-
- examples/
|
75
|
-
- examples/
|
76
|
-
- examples/
|
77
|
-
- examples/
|
78
|
-
- examples/
|
79
|
-
- examples/
|
80
|
-
- examples/
|
81
|
-
- examples/
|
82
|
-
- examples/
|
83
|
-
- examples/
|
84
|
-
- examples/
|
85
|
-
- examples/
|
86
|
-
- examples/
|
87
|
-
- examples/
|
88
|
-
- examples/
|
89
|
-
- examples/
|
90
|
-
- examples/
|
91
|
-
- examples/
|
92
|
-
- examples/
|
93
|
-
- examples/
|
94
|
-
- examples/
|
95
|
-
- examples/
|
96
|
-
- examples/
|
97
|
-
- examples/
|
98
|
-
- examples/
|
99
|
-
- examples/
|
46
|
+
- examples/passing/autogenerated_docstrings_example.rb
|
47
|
+
- examples/passing/before_and_after_example.rb
|
48
|
+
- examples/passing/behave_as_example.rb
|
49
|
+
- examples/passing/custom_expectation_matchers.rb
|
50
|
+
- examples/passing/custom_formatter.rb
|
51
|
+
- examples/passing/dynamic_spec.rb
|
52
|
+
- examples/passing/file_accessor.rb
|
53
|
+
- examples/passing/file_accessor_spec.rb
|
54
|
+
- examples/passing/greeter_spec.rb
|
55
|
+
- examples/passing/helper_method_example.rb
|
56
|
+
- examples/passing/io_processor.rb
|
57
|
+
- examples/passing/io_processor_spec.rb
|
58
|
+
- examples/passing/legacy_spec.rb
|
59
|
+
- examples/passing/mocking_example.rb
|
60
|
+
- examples/passing/multi_threaded_behaviour_runner.rb
|
61
|
+
- examples/passing/nested_classes_example.rb
|
62
|
+
- examples/passing/partial_mock_example.rb
|
63
|
+
- examples/passing/pending_example.rb
|
64
|
+
- examples/passing/predicate_example.rb
|
65
|
+
- examples/passing/priority.txt
|
66
|
+
- examples/passing/shared_example_group_example.rb
|
67
|
+
- examples/passing/shared_stack_examples.rb
|
68
|
+
- examples/passing/spec_helper.rb
|
69
|
+
- examples/passing/stack.rb
|
70
|
+
- examples/passing/stack_spec.rb
|
71
|
+
- examples/passing/stack_spec_with_nested_example_groups.rb
|
72
|
+
- examples/passing/stubbing_example.rb
|
73
|
+
- examples/passing/yielding_example.rb
|
100
74
|
- examples/stories/adder.rb
|
101
75
|
- examples/stories/addition
|
102
76
|
- examples/stories/addition.rb
|
@@ -490,6 +464,6 @@ rubyforge_project: rspec
|
|
490
464
|
rubygems_version: 1.2.0
|
491
465
|
signing_key:
|
492
466
|
specification_version: 2
|
493
|
-
summary: rspec 1.1.
|
467
|
+
summary: rspec 1.1.11
|
494
468
|
test_files: []
|
495
469
|
|
data/examples/stories/adder.rb
DELETED
data/examples/stories/addition
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
This is a story about a calculator. The text up here above the Story: declaration
|
2
|
-
won't be processed, so you can write whatever you wish!
|
3
|
-
|
4
|
-
Story: simple addition
|
5
|
-
|
6
|
-
As an accountant
|
7
|
-
I want to add numbers
|
8
|
-
So that I can count beans
|
9
|
-
|
10
|
-
Scenario: add one plus one
|
11
|
-
Given an addend of 1
|
12
|
-
And an addend of 1
|
13
|
-
|
14
|
-
When the addends are addeds
|
15
|
-
|
16
|
-
Then the sum should be 3
|
17
|
-
And the corks should be popped
|
18
|
-
|
19
|
-
Scenario: add two plus five
|
20
|
-
Given an addend of 2
|
21
|
-
And an addend of 5
|
22
|
-
|
23
|
-
When the addends are added
|
24
|
-
|
25
|
-
Then the sum should be 7
|
26
|
-
Then it should snow
|
27
|
-
|
28
|
-
Scenario: add three more
|
29
|
-
GivenScenario add two plus five
|
30
|
-
And an addend of 3
|
31
|
-
|
32
|
-
When the addends are added
|
33
|
-
|
34
|
-
Then the sum should be 10
|
@@ -1,9 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "helper")
|
2
|
-
require File.join(File.dirname(__FILE__), "adder")
|
3
|
-
|
4
|
-
# with_steps_for :addition, :more_addition do
|
5
|
-
with_steps_for :addition, :more_addition do
|
6
|
-
# Then("the corks should be popped") { }
|
7
|
-
run File.expand_path(__FILE__).gsub(".rb","")
|
8
|
-
end
|
9
|
-
|
@@ -1,65 +0,0 @@
|
|
1
|
-
$:.push File.join(File.dirname(__FILE__), *%w[.. .. lib])
|
2
|
-
require 'spec'
|
3
|
-
|
4
|
-
class AdditionMatchers < Spec::Story::StepGroup
|
5
|
-
steps do |add|
|
6
|
-
add.given("an addend of $addend") do |addend|
|
7
|
-
@adder ||= Adder.new
|
8
|
-
@adder << addend.to_i
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
steps = AdditionMatchers.new do |add|
|
14
|
-
add.then("the sum should be $sum") do |sum|
|
15
|
-
@sum.should == sum.to_i
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
steps.when("they are added") do
|
20
|
-
@sum = @adder.sum
|
21
|
-
end
|
22
|
-
|
23
|
-
# This Story uses steps (see above) instead of blocks
|
24
|
-
# passed to Given, When and Then
|
25
|
-
|
26
|
-
Story "addition", %{
|
27
|
-
As an accountant
|
28
|
-
I want to add numbers
|
29
|
-
So that I can count some beans
|
30
|
-
}, :steps_for => steps do
|
31
|
-
Scenario "2 + 3" do
|
32
|
-
Given "an addend of 2"
|
33
|
-
And "an addend of 3"
|
34
|
-
When "they are added"
|
35
|
-
Then "the sum should be 5"
|
36
|
-
end
|
37
|
-
|
38
|
-
# This scenario uses GivenScenario, which silently runs
|
39
|
-
# all the steps in a previous scenario.
|
40
|
-
|
41
|
-
Scenario "add 4 more" do
|
42
|
-
GivenScenario "2 + 3"
|
43
|
-
Given "an addend of 4"
|
44
|
-
When "they are added"
|
45
|
-
Then "the sum should be 9"
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
# And the class that makes the story pass
|
50
|
-
|
51
|
-
class Adder
|
52
|
-
def << addend
|
53
|
-
addends << addend
|
54
|
-
end
|
55
|
-
|
56
|
-
def sum
|
57
|
-
@addends.inject(0) do |result, addend|
|
58
|
-
result + addend.to_i
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
def addends
|
63
|
-
@addends ||= []
|
64
|
-
end
|
65
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
John Conway's Game of Life
|
2
|
-
|
3
|
-
The Rules
|
4
|
-
---------
|
5
|
-
The Game of Life was invented by John Conway (as you might have gathered).
|
6
|
-
The game is played on a field of cells, each of which has eight neighbors (adjacent cells).
|
7
|
-
A cell is either occupied (by an organism) or not.
|
8
|
-
The rules for deriving a generation from the previous one are these:
|
9
|
-
|
10
|
-
Survival
|
11
|
-
--------
|
12
|
-
If an occupied cell has 2 or 3 neighbors, the organism survives to the next generation.
|
13
|
-
|
14
|
-
Death
|
15
|
-
-----
|
16
|
-
If an occupied cell has 0, 1, 4, 5, 6, 7, or 8 occupied neighbors, the organism dies
|
17
|
-
(0, 1: of loneliness; 4 thru 8: of overcrowding).
|
18
|
-
|
19
|
-
Birth
|
20
|
-
-----
|
21
|
-
If an unoccupied cell has 3 occupied neighbors, it becomes occupied.
|
@@ -1,35 +0,0 @@
|
|
1
|
-
require 'life'
|
2
|
-
|
3
|
-
describe Game do
|
4
|
-
it 'should have a grid' do
|
5
|
-
# given
|
6
|
-
game = Game.new(5, 5)
|
7
|
-
|
8
|
-
# then
|
9
|
-
game.grid.should be_kind_of(Grid)
|
10
|
-
end
|
11
|
-
|
12
|
-
it 'should create a cell' do
|
13
|
-
# given
|
14
|
-
game = Game.new(2, 2)
|
15
|
-
expected_grid = Grid.from_string( 'X. ..' )
|
16
|
-
|
17
|
-
# when
|
18
|
-
game.create_at(0, 0)
|
19
|
-
|
20
|
-
# then
|
21
|
-
game.grid.should == expected_grid
|
22
|
-
end
|
23
|
-
|
24
|
-
it 'should destroy a cell' do
|
25
|
-
# given
|
26
|
-
game = Game.new(2,2)
|
27
|
-
game.grid = Grid.from_string('X. ..')
|
28
|
-
|
29
|
-
# when
|
30
|
-
game.destroy_at(0,0)
|
31
|
-
|
32
|
-
# then
|
33
|
-
game.grid.should == Grid.from_string('.. ..')
|
34
|
-
end
|
35
|
-
end
|
@@ -1,66 +0,0 @@
|
|
1
|
-
describe Grid do
|
2
|
-
it 'should be empty when created' do
|
3
|
-
# given
|
4
|
-
expected_contents = [
|
5
|
-
[0, 0, 0],
|
6
|
-
[0, 0, 0]
|
7
|
-
]
|
8
|
-
grid = Grid.new(2, 3)
|
9
|
-
|
10
|
-
# when
|
11
|
-
contents = grid.contents
|
12
|
-
|
13
|
-
# then
|
14
|
-
contents.should == expected_contents
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'should compare equal based on its contents' do
|
18
|
-
# given
|
19
|
-
grid1 = Grid.new(2, 3)
|
20
|
-
grid2 = Grid.new(2, 3)
|
21
|
-
|
22
|
-
# then
|
23
|
-
grid1.should == grid2
|
24
|
-
end
|
25
|
-
|
26
|
-
it 'should be able to replace its contents' do
|
27
|
-
# given
|
28
|
-
grid = Grid.new(2,2)
|
29
|
-
new_contents = [[0,1,0], [1,0,1]]
|
30
|
-
|
31
|
-
# when
|
32
|
-
grid.contents = new_contents
|
33
|
-
|
34
|
-
# then
|
35
|
-
grid.contents.should == new_contents
|
36
|
-
grid.rows.should == 2
|
37
|
-
grid.columns.should == 3
|
38
|
-
end
|
39
|
-
|
40
|
-
it 'should add an organism' do
|
41
|
-
# given
|
42
|
-
grid = Grid.new(2, 2)
|
43
|
-
expected = Grid.new(2, 2)
|
44
|
-
expected.contents = [[1,0],[0,0]]
|
45
|
-
|
46
|
-
# when
|
47
|
-
grid.create_at(0,0)
|
48
|
-
|
49
|
-
# then
|
50
|
-
grid.should == expected
|
51
|
-
end
|
52
|
-
|
53
|
-
it 'should create itself from a string' do
|
54
|
-
# given
|
55
|
-
expected = Grid.new 3, 3
|
56
|
-
expected.create_at(0,0)
|
57
|
-
expected.create_at(1,0)
|
58
|
-
expected.create_at(2,2)
|
59
|
-
|
60
|
-
# when
|
61
|
-
actual = Grid.from_string "X.. X.. ..X"
|
62
|
-
|
63
|
-
# then
|
64
|
-
actual.should == expected
|
65
|
-
end
|
66
|
-
end
|
data/examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
Story: cells with less than two neighbours die
|
2
|
-
|
3
|
-
As a game producer
|
4
|
-
I want cells with less than two neighbours to die
|
5
|
-
So that I can illustrate how the game works to people with money
|
6
|
-
|
7
|
-
Scenario: cells with zero or one neighbour die
|
8
|
-
|
9
|
-
Given the grid looks like
|
10
|
-
........
|
11
|
-
.XX.XX..
|
12
|
-
.XX.....
|
13
|
-
....X...
|
14
|
-
........
|
15
|
-
When the next step occurs
|
16
|
-
Then the grid should look like
|
17
|
-
........
|
18
|
-
.XX.....
|
19
|
-
.XX.....
|
20
|
-
........
|
21
|
-
........
|
data/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
Story: cells with more than three neighbours die
|
2
|
-
|
3
|
-
As a game producer
|
4
|
-
I want cells with more than three neighbours to die
|
5
|
-
So that I can show the people with money how we are getting on
|
6
|
-
|
7
|
-
Scenario: blink
|
8
|
-
|
9
|
-
Given the grid looks like
|
10
|
-
.....
|
11
|
-
...XX
|
12
|
-
...XX
|
13
|
-
.XX..
|
14
|
-
.XX..
|
15
|
-
When the next step occurs
|
16
|
-
Then the grid should look like
|
17
|
-
.....
|
18
|
-
...XX
|
19
|
-
....X
|
20
|
-
.X...
|
21
|
-
.XX..
|
data/examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
Story: Empty spaces with three neighbours create a cell
|
2
|
-
|
3
|
-
As a game producer
|
4
|
-
I want empty cells with three neighbours to die
|
5
|
-
So that I have a minimum feature set to ship
|
6
|
-
|
7
|
-
Scenario: the glider
|
8
|
-
|
9
|
-
Given the grid looks like
|
10
|
-
...X..
|
11
|
-
..X...
|
12
|
-
..XXX.
|
13
|
-
......
|
14
|
-
......
|
15
|
-
When the next step occurs
|
16
|
-
Then the grid should look like
|
17
|
-
......
|
18
|
-
..X.X.
|
19
|
-
..XX..
|
20
|
-
...X..
|
21
|
-
......
|
22
|
-
When the next step occurs
|
23
|
-
Then the grid should look like
|
24
|
-
......
|
25
|
-
..X...
|
26
|
-
..X.X.
|
27
|
-
..XX..
|
28
|
-
......
|
29
|
-
When the next step occurs
|
30
|
-
Then the grid should look like
|
31
|
-
......
|
32
|
-
...X..
|
33
|
-
.XX...
|
34
|
-
..XX..
|
35
|
-
......
|
36
|
-
When the next step occurs
|
37
|
-
Then the grid should look like
|
38
|
-
......
|
39
|
-
..X...
|
40
|
-
.X....
|
41
|
-
.XXX..
|
42
|
-
......
|
@@ -1,42 +0,0 @@
|
|
1
|
-
Story: I can create a cell
|
2
|
-
|
3
|
-
As a game producer
|
4
|
-
I want to create a cell
|
5
|
-
So that I can show the grid to people
|
6
|
-
|
7
|
-
Scenario: nothing to see here
|
8
|
-
|
9
|
-
Given a 3 x 3 game
|
10
|
-
Then the grid should look like
|
11
|
-
...
|
12
|
-
...
|
13
|
-
...
|
14
|
-
|
15
|
-
Scenario: all on its lonesome
|
16
|
-
|
17
|
-
Given a 3 x 3 game
|
18
|
-
When I create a cell at 1, 1
|
19
|
-
Then the grid should look like
|
20
|
-
...
|
21
|
-
.X.
|
22
|
-
...
|
23
|
-
|
24
|
-
Scenario: the grid has three cells
|
25
|
-
|
26
|
-
Given a 3 x 3 game
|
27
|
-
When I create a cell at 0, 0
|
28
|
-
and I create a cell at 0, 1
|
29
|
-
and I create a cell at 2, 2
|
30
|
-
Then the grid should look like
|
31
|
-
XX.
|
32
|
-
...
|
33
|
-
..X
|
34
|
-
|
35
|
-
Scenario: more cells more more
|
36
|
-
|
37
|
-
Given the grid has three cells
|
38
|
-
When I create a celll at 3, 1
|
39
|
-
Then the grid should look like
|
40
|
-
XX.
|
41
|
-
..X
|
42
|
-
..X
|
@@ -1,17 +0,0 @@
|
|
1
|
-
Story: I can kill a cell
|
2
|
-
|
3
|
-
As a game producer
|
4
|
-
I want to kill a cell
|
5
|
-
So that when I make a mistake I dont have to start again
|
6
|
-
|
7
|
-
Scenario: bang youre dead
|
8
|
-
|
9
|
-
Given the grid looks like
|
10
|
-
XX.
|
11
|
-
.X.
|
12
|
-
..X
|
13
|
-
When I destroy the cell at 0, 1
|
14
|
-
Then the grid should look like
|
15
|
-
X..
|
16
|
-
.X.
|
17
|
-
..X
|
@@ -1,53 +0,0 @@
|
|
1
|
-
Story: The grid wraps
|
2
|
-
|
3
|
-
As a game player
|
4
|
-
I want the grid to wrap
|
5
|
-
So that untidy stuff at the edges is avoided
|
6
|
-
|
7
|
-
Scenario: crowded in the corners
|
8
|
-
|
9
|
-
Given the grid looks like
|
10
|
-
X.X
|
11
|
-
...
|
12
|
-
X.X
|
13
|
-
When the next step is taken
|
14
|
-
Then the grid should look like
|
15
|
-
X.X
|
16
|
-
...
|
17
|
-
X.X
|
18
|
-
|
19
|
-
|
20
|
-
Scenario: the glider returns
|
21
|
-
|
22
|
-
Given the glider
|
23
|
-
......
|
24
|
-
..X...
|
25
|
-
.X....
|
26
|
-
.XXX..
|
27
|
-
......
|
28
|
-
When the next step is taken
|
29
|
-
and the next step is taken
|
30
|
-
and the next step is taken
|
31
|
-
and the next step is taken
|
32
|
-
Then the grid should look like
|
33
|
-
......
|
34
|
-
......
|
35
|
-
.X....
|
36
|
-
X.....
|
37
|
-
XXX...
|
38
|
-
When the next step is taken
|
39
|
-
Then the grid should look like
|
40
|
-
.X....
|
41
|
-
......
|
42
|
-
......
|
43
|
-
X.X...
|
44
|
-
XX....
|
45
|
-
When the next step is taken
|
46
|
-
Then the grid should look like
|
47
|
-
XX....
|
48
|
-
......
|
49
|
-
......
|
50
|
-
X.....
|
51
|
-
X.X...
|
52
|
-
|
53
|
-
|
@@ -1,52 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), *%w[helper])
|
2
|
-
|
3
|
-
Story "I can create a cell",
|
4
|
-
%(As a game producer
|
5
|
-
I want to create a cell
|
6
|
-
So that I can show the grid to people), :steps_for => :life do
|
7
|
-
|
8
|
-
Scenario "nothing to see here" do
|
9
|
-
Given "a game with dimensions", 3, 3 do |rows,cols|
|
10
|
-
@game = Game.new(rows,cols)
|
11
|
-
end
|
12
|
-
|
13
|
-
Then "the grid should look like", %(
|
14
|
-
...
|
15
|
-
...
|
16
|
-
...
|
17
|
-
)
|
18
|
-
end
|
19
|
-
|
20
|
-
Scenario "all on its lonesome" do
|
21
|
-
Given "a game with dimensions", 2, 2
|
22
|
-
When "I create a cell at", 1, 1 do |row,col|
|
23
|
-
@game.create_at(row,col)
|
24
|
-
end
|
25
|
-
Then "the grid should look like", %(
|
26
|
-
..
|
27
|
-
.X
|
28
|
-
)
|
29
|
-
end
|
30
|
-
|
31
|
-
Scenario "the grid has three cells" do
|
32
|
-
Given "a game with dimensions", 3, 3
|
33
|
-
When "I create a cell at", 0, 0
|
34
|
-
When "I create a cell at", 0, 1
|
35
|
-
When "I create a cell at", 2, 2
|
36
|
-
Then "the grid should look like", %(
|
37
|
-
XX.
|
38
|
-
...
|
39
|
-
..X
|
40
|
-
)
|
41
|
-
end
|
42
|
-
|
43
|
-
Scenario "more cells more more" do
|
44
|
-
GivenScenario "the grid has three cells"
|
45
|
-
When "I create a cell at", 2, 0
|
46
|
-
Then "the grid should look like", %(
|
47
|
-
XX.
|
48
|
-
...
|
49
|
-
X.X
|
50
|
-
)
|
51
|
-
end
|
52
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), *%w[helper])
|
2
|
-
|
3
|
-
Story 'I can kill a cell',
|
4
|
-
%(As a game producer
|
5
|
-
I want to kill a cell
|
6
|
-
So that when I make a mistake I don't have to start again), :steps_for => :life do
|
7
|
-
|
8
|
-
Scenario "bang, you're dead" do
|
9
|
-
|
10
|
-
Given 'a game that looks like', %(
|
11
|
-
XX.
|
12
|
-
.X.
|
13
|
-
..X
|
14
|
-
) do |dots|
|
15
|
-
@game = Game.from_string dots
|
16
|
-
end
|
17
|
-
When 'I destroy the cell at', 0, 1 do |row,col|
|
18
|
-
@game.destroy_at(row,col)
|
19
|
-
end
|
20
|
-
Then 'the grid should look like', %(
|
21
|
-
X..
|
22
|
-
.X.
|
23
|
-
..X
|
24
|
-
)
|
25
|
-
end
|
26
|
-
end
|