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.
Files changed (120) hide show
  1. data/History.txt +17 -0
  2. data/Manifest.txt +53 -74
  3. data/Rakefile +0 -1
  4. data/examples/{pure → passing}/autogenerated_docstrings_example.rb +6 -0
  5. data/examples/{pure → passing}/before_and_after_example.rb +0 -0
  6. data/examples/{pure → passing}/behave_as_example.rb +0 -0
  7. data/examples/{pure → passing}/custom_expectation_matchers.rb +0 -0
  8. data/examples/{pure → passing}/custom_formatter.rb +1 -1
  9. data/examples/{pure → passing}/dynamic_spec.rb +2 -2
  10. data/examples/{pure → passing}/file_accessor.rb +0 -0
  11. data/examples/{pure → passing}/file_accessor_spec.rb +0 -0
  12. data/examples/{pure → passing}/greeter_spec.rb +0 -0
  13. data/examples/{pure → passing}/helper_method_example.rb +0 -0
  14. data/examples/{pure → passing}/io_processor.rb +0 -0
  15. data/examples/{pure → passing}/io_processor_spec.rb +0 -0
  16. data/examples/{pure → passing}/legacy_spec.rb +0 -0
  17. data/examples/{pure → passing}/mocking_example.rb +0 -0
  18. data/examples/{pure → passing}/multi_threaded_behaviour_runner.rb +0 -0
  19. data/examples/{pure → passing}/nested_classes_example.rb +0 -0
  20. data/examples/{pure → passing}/partial_mock_example.rb +0 -0
  21. data/examples/{pure → passing}/pending_example.rb +0 -0
  22. data/examples/{pure → passing}/predicate_example.rb +0 -0
  23. data/examples/{pure → passing}/priority.txt +0 -0
  24. data/examples/{pure → passing}/shared_example_group_example.rb +0 -0
  25. data/examples/{pure → passing}/shared_stack_examples.rb +1 -3
  26. data/examples/{pure → passing}/spec_helper.rb +0 -0
  27. data/examples/{pure → passing}/stack.rb +0 -0
  28. data/examples/{pure → passing}/stack_spec.rb +3 -2
  29. data/examples/{pure → passing}/stack_spec_with_nested_example_groups.rb +0 -0
  30. data/examples/{pure → passing}/stubbing_example.rb +0 -0
  31. data/examples/{pure → passing}/yielding_example.rb +0 -0
  32. data/lib/spec/example/before_and_after_hooks.rb +8 -21
  33. data/lib/spec/example/configuration.rb +45 -45
  34. data/lib/spec/example/example_group_factory.rb +10 -9
  35. data/lib/spec/example/example_group_methods.rb +31 -15
  36. data/lib/spec/example/example_methods.rb +74 -22
  37. data/lib/spec/example/shared_example_group.rb +27 -16
  38. data/lib/spec/example.rb +28 -0
  39. data/lib/spec/expectations.rb +1 -0
  40. data/lib/spec/extensions.rb +0 -2
  41. data/lib/spec/matchers/be.rb +96 -114
  42. data/lib/spec/matchers/operator_matcher.rb +2 -9
  43. data/lib/spec/matchers/throw_symbol.rb +41 -15
  44. data/lib/spec/matchers.rb +4 -27
  45. data/lib/spec/runner/formatter/base_text_formatter.rb +1 -1
  46. data/lib/spec/runner/option_parser.rb +2 -2
  47. data/lib/spec/runner/reporter.rb +1 -1
  48. data/lib/spec/runner.rb +1 -1
  49. data/lib/spec/version.rb +1 -1
  50. data/lib/spec.rb +1 -0
  51. data/rspec.gemspec +4 -24
  52. data/spec/spec/example/example_group_factory_spec.rb +29 -9
  53. data/spec/spec/example/example_group_methods_spec.rb +4 -6
  54. data/spec/spec/example/example_group_spec.rb +0 -6
  55. data/spec/spec/example/example_matcher_spec.rb +6 -23
  56. data/spec/spec/example/example_methods_spec.rb +117 -2
  57. data/spec/spec/example/shared_example_group_spec.rb +51 -75
  58. data/spec/spec/matchers/be_spec.rb +40 -7
  59. data/spec/spec/matchers/description_generation_spec.rb +14 -0
  60. data/spec/spec/matchers/throw_symbol_spec.rb +83 -41
  61. data/spec/spec/runner/command_line_spec.rb +4 -4
  62. data/spec/spec/runner/formatter/html_formatted-1.8.4.html +6 -6
  63. data/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +9 -9
  64. data/spec/spec/runner/formatter/html_formatted-1.8.5.html +6 -6
  65. data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +10 -10
  66. data/spec/spec/runner/formatter/html_formatted-1.8.6.html +6 -6
  67. data/spec/spec/runner/formatter/html_formatter_spec.rb +1 -1
  68. data/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +5 -5
  69. data/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +6 -6
  70. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +6 -6
  71. data/spec/spec/runner/reporter_spec.rb +1 -1
  72. data/stories/example_groups/autogenerated_docstrings +4 -4
  73. data/stories/example_groups/nested_groups +2 -2
  74. metadata +33 -59
  75. data/examples/stories/adder.rb +0 -13
  76. data/examples/stories/addition +0 -34
  77. data/examples/stories/addition.rb +0 -9
  78. data/examples/stories/calculator.rb +0 -65
  79. data/examples/stories/game-of-life/.loadpath +0 -5
  80. data/examples/stories/game-of-life/README.txt +0 -21
  81. data/examples/stories/game-of-life/behaviour/everything.rb +0 -6
  82. data/examples/stories/game-of-life/behaviour/examples/examples.rb +0 -3
  83. data/examples/stories/game-of-life/behaviour/examples/game_behaviour.rb +0 -35
  84. data/examples/stories/game-of-life/behaviour/examples/grid_behaviour.rb +0 -66
  85. data/examples/stories/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story +0 -21
  86. data/examples/stories/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story +0 -21
  87. data/examples/stories/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story +0 -42
  88. data/examples/stories/game-of-life/behaviour/stories/ICanCreateACell.story +0 -42
  89. data/examples/stories/game-of-life/behaviour/stories/ICanKillACell.story +0 -17
  90. data/examples/stories/game-of-life/behaviour/stories/TheGridWraps.story +0 -53
  91. data/examples/stories/game-of-life/behaviour/stories/create_a_cell.rb +0 -52
  92. data/examples/stories/game-of-life/behaviour/stories/helper.rb +0 -6
  93. data/examples/stories/game-of-life/behaviour/stories/kill_a_cell.rb +0 -26
  94. data/examples/stories/game-of-life/behaviour/stories/steps.rb +0 -5
  95. data/examples/stories/game-of-life/behaviour/stories/stories.rb +0 -3
  96. data/examples/stories/game-of-life/behaviour/stories/stories.txt +0 -22
  97. data/examples/stories/game-of-life/life/game.rb +0 -23
  98. data/examples/stories/game-of-life/life/grid.rb +0 -43
  99. data/examples/stories/game-of-life/life.rb +0 -3
  100. data/examples/stories/helper.rb +0 -9
  101. data/examples/stories/steps/addition_steps.rb +0 -18
  102. data/failing_examples/README.txt +0 -7
  103. data/failing_examples/diffing_spec.rb +0 -36
  104. data/failing_examples/failing_autogenerated_docstrings_example.rb +0 -19
  105. data/failing_examples/failure_in_setup.rb +0 -10
  106. data/failing_examples/failure_in_teardown.rb +0 -10
  107. data/failing_examples/mocking_example.rb +0 -40
  108. data/failing_examples/mocking_with_flexmock.rb +0 -26
  109. data/failing_examples/mocking_with_mocha.rb +0 -25
  110. data/failing_examples/mocking_with_rr.rb +0 -27
  111. data/failing_examples/partial_mock_example.rb +0 -20
  112. data/failing_examples/predicate_example.rb +0 -29
  113. data/failing_examples/raising_example.rb +0 -47
  114. data/failing_examples/spec_helper.rb +0 -3
  115. data/failing_examples/syntax_error_example.rb +0 -7
  116. data/failing_examples/team_spec.rb +0 -44
  117. data/failing_examples/timeout_behaviour.rb +0 -7
  118. data/lib/spec/extensions/main.rb +0 -87
  119. data/lib/spec/extensions/object.rb +0 -6
  120. 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.10
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
- - !ruby/object:Gem::Dependency
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/pure/priority.txt
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/pure/autogenerated_docstrings_example.rb
73
- - examples/pure/before_and_after_example.rb
74
- - examples/pure/behave_as_example.rb
75
- - examples/pure/custom_expectation_matchers.rb
76
- - examples/pure/custom_formatter.rb
77
- - examples/pure/dynamic_spec.rb
78
- - examples/pure/file_accessor.rb
79
- - examples/pure/file_accessor_spec.rb
80
- - examples/pure/greeter_spec.rb
81
- - examples/pure/helper_method_example.rb
82
- - examples/pure/io_processor.rb
83
- - examples/pure/io_processor_spec.rb
84
- - examples/pure/legacy_spec.rb
85
- - examples/pure/mocking_example.rb
86
- - examples/pure/multi_threaded_behaviour_runner.rb
87
- - examples/pure/nested_classes_example.rb
88
- - examples/pure/partial_mock_example.rb
89
- - examples/pure/pending_example.rb
90
- - examples/pure/predicate_example.rb
91
- - examples/pure/priority.txt
92
- - examples/pure/shared_example_group_example.rb
93
- - examples/pure/shared_stack_examples.rb
94
- - examples/pure/spec_helper.rb
95
- - examples/pure/stack.rb
96
- - examples/pure/stack_spec.rb
97
- - examples/pure/stack_spec_with_nested_example_groups.rb
98
- - examples/pure/stubbing_example.rb
99
- - examples/pure/yielding_example.rb
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.10
467
+ summary: rspec 1.1.11
494
468
  test_files: []
495
469
 
@@ -1,13 +0,0 @@
1
- class Adder
2
- def initialize
3
- @addends = []
4
- end
5
-
6
- def <<(val)
7
- @addends << val
8
- end
9
-
10
- def sum
11
- @addends.inject(0) { |sum_so_far, val| sum_so_far + val }
12
- end
13
- end
@@ -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,5 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <loadpath>
3
- <pathentry path="" type="src"/>
4
- <pathentry path="org.rubypeople.rdt.launching.RUBY_CONTAINER" type="con"/>
5
- </loadpath>
@@ -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,6 +0,0 @@
1
- $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib')
2
- $:.unshift File.join(File.dirname(__FILE__), '..')
3
-
4
- require 'spec'
5
- require 'behaviour/examples/examples'
6
- require 'behaviour/stories/stories'
@@ -1,3 +0,0 @@
1
- require 'spec'
2
- require 'behaviour/examples/game_behaviour'
3
- require 'behaviour/examples/grid_behaviour'
@@ -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
@@ -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
- ........
@@ -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..
@@ -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,6 +0,0 @@
1
- dir = File.dirname(__FILE__)
2
- $LOAD_PATH.unshift(File.expand_path("#{dir}/../../../../../../rspec/lib"))
3
- require 'spec'
4
- $LOAD_PATH.unshift(File.expand_path("#{dir}/../../"))
5
- require "#{dir}/../../life"
6
- require File.join(File.dirname(__FILE__), *%w[steps])
@@ -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
@@ -1,5 +0,0 @@
1
- steps_for :life do
2
- Then "the grid should look like" do |dots|
3
- @game.grid.should == Grid.from_string(dots)
4
- end
5
- end