cavalle-cucumber 0.2.3.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +556 -0
- data/License.txt +20 -0
- data/Manifest.txt +345 -0
- data/README.txt +4 -0
- data/Rakefile +8 -0
- data/bin/cucumber +6 -0
- data/config/hoe.rb +76 -0
- data/config/requirements.rb +15 -0
- data/cucumber.yml +1 -0
- data/examples/cs/README.textile +1 -0
- data/examples/cs/Rakefile +12 -0
- data/examples/cs/compile.bat +1 -0
- data/examples/cs/features/addition.feature +16 -0
- data/examples/cs/features/step_definitons/calculator_steps.rb +19 -0
- data/examples/cs/src/demo/Calculator.cs +20 -0
- data/examples/dos_line_endings/Rakefile +6 -0
- data/examples/dos_line_endings/features/dos_line_endings.feature +9 -0
- data/examples/i18n/README.textile +18 -0
- data/examples/i18n/Rakefile +30 -0
- data/examples/i18n/ar/Rakefile +6 -0
- data/examples/i18n/ar/features/addition.feature +16 -0
- data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/ar/lib/calculator.rb +11 -0
- data/examples/i18n/bg/Rakefile +6 -0
- data/examples/i18n/bg/features/addition.feature +11 -0
- data/examples/i18n/bg/features/consecutive_calculations.feature +18 -0
- data/examples/i18n/bg/features/division.feature +16 -0
- data/examples/i18n/bg/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/bg/features/support/env.rb +6 -0
- data/examples/i18n/bg/features/support/world.rb +8 -0
- data/examples/i18n/bg/lib/calculator.rb +24 -0
- data/examples/i18n/da/Rakefile +6 -0
- data/examples/i18n/da/features/step_definitons/kalkulator_steps.rb +24 -0
- data/examples/i18n/da/features/summering.feature +17 -0
- data/examples/i18n/da/lib/kalkulator.rb +11 -0
- data/examples/i18n/de/Rakefile +6 -0
- data/examples/i18n/de/features/addition.feature +16 -0
- data/examples/i18n/de/features/division.feature +9 -0
- data/examples/i18n/de/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/de/lib/calculator.rb +14 -0
- data/examples/i18n/en/Rakefile +6 -0
- data/examples/i18n/en/features/addition.feature +16 -0
- data/examples/i18n/en/features/division.feature +9 -0
- data/examples/i18n/en/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/en/lib/calculator.rb +14 -0
- data/examples/i18n/en-lol/Rakefile +6 -0
- data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +16 -0
- data/examples/i18n/en-lol/features/stuffing.feature +8 -0
- data/examples/i18n/en-lol/features/support/env.rb +8 -0
- data/examples/i18n/en-lol/lib/basket.rb +12 -0
- data/examples/i18n/en-lol/lib/belly.rb +11 -0
- data/examples/i18n/es/Rakefile +6 -0
- data/examples/i18n/es/features/adicion.feature +16 -0
- data/examples/i18n/es/features/step_definitons/calculador_steps.rb +21 -0
- data/examples/i18n/es/lib/calculador.rb +14 -0
- data/examples/i18n/et/Rakefile +6 -0
- data/examples/i18n/et/features/jagamine.feature +9 -0
- data/examples/i18n/et/features/liitmine.feature +16 -0
- data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +24 -0
- data/examples/i18n/et/lib/kalkulaator.rb +14 -0
- data/examples/i18n/fi/Rakefile +6 -0
- data/examples/i18n/fi/features/jakolasku.feature +9 -0
- data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +24 -0
- data/examples/i18n/fi/features/yhteenlasku.feature +16 -0
- data/examples/i18n/fi/lib/laskin.rb +14 -0
- data/examples/i18n/fr/Rakefile +6 -0
- data/examples/i18n/fr/features/addition.feature +17 -0
- data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +25 -0
- data/examples/i18n/fr/lib/calculatrice.rb +10 -0
- data/examples/i18n/id/Rakefile +6 -0
- data/examples/i18n/id/features/addition.feature +16 -0
- data/examples/i18n/id/features/division.feature +9 -0
- data/examples/i18n/id/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/id/lib/calculator.rb +14 -0
- data/examples/i18n/it/Rakefile +6 -0
- data/examples/i18n/it/features/somma.feature +10 -0
- data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +24 -0
- data/examples/i18n/it/lib/calcolatrice.rb +11 -0
- data/examples/i18n/ja/Rakefile +6 -0
- data/examples/i18n/ja/features/addition.feature +16 -0
- data/examples/i18n/ja/features/division.feature +9 -0
- data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/ja/lib/calculator.rb +14 -0
- data/examples/i18n/ko/Rakefile +6 -0
- data/examples/i18n/ko/features/addition.feature +16 -0
- data/examples/i18n/ko/features/division.feature +10 -0
- data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/ko/lib/calculator.rb +14 -0
- data/examples/i18n/lt/Rakefile +6 -0
- data/examples/i18n/lt/features/addition.feature +17 -0
- data/examples/i18n/lt/features/division.feature +9 -0
- data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/lt/lib/calculator.rb +14 -0
- data/examples/i18n/no/Rakefile +6 -0
- data/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +17 -0
- data/examples/i18n/no/features/summering.feature +18 -0
- data/examples/i18n/no/features/support/env.rb +6 -0
- data/examples/i18n/no/lib/kalkulator.rb +11 -0
- data/examples/i18n/pt/Rakefile +6 -0
- data/examples/i18n/pt/features/adicao.feature +10 -0
- data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +24 -0
- data/examples/i18n/pt/lib/calculadora.rb +10 -0
- data/examples/i18n/ro/Rakefile +6 -0
- data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/ro/features/suma.feature +10 -0
- data/examples/i18n/ro/lib/calculator.rb +11 -0
- data/examples/i18n/ru/Rakefile +6 -0
- data/examples/i18n/ru/features/addition.feature +10 -0
- data/examples/i18n/ru/features/consecutive_calculations.feature +16 -0
- data/examples/i18n/ru/features/division.feature +15 -0
- data/examples/i18n/ru/features/step_definitons/calculator_steps.rb +19 -0
- data/examples/i18n/ru/features/support/env.rb +6 -0
- data/examples/i18n/ru/features/support/world.rb +8 -0
- data/examples/i18n/ru/lib/calculator.rb +24 -0
- data/examples/i18n/se/Rakefile +6 -0
- data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +24 -0
- data/examples/i18n/se/features/summering.feature +17 -0
- data/examples/i18n/se/lib/kalkulator.rb +11 -0
- data/examples/i18n/sk/Rakefile +6 -0
- data/examples/i18n/sk/features/addition.feature +16 -0
- data/examples/i18n/sk/features/division.feature +9 -0
- data/examples/i18n/sk/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/sk/lib/calculator.rb +14 -0
- data/examples/i18n/zh-CN/Rakefile +6 -0
- data/examples/i18n/zh-CN/features/addition.feature +17 -0
- data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +26 -0
- data/examples/i18n/zh-CN/lib/calculator.rb +10 -0
- data/examples/i18n/zh-TW/Rakefile +6 -0
- data/examples/i18n/zh-TW/features/addition.feature +16 -0
- data/examples/i18n/zh-TW/features/division.feature +10 -0
- data/examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/zh-TW/lib/calculator.rb +14 -0
- data/examples/java/README.textile +22 -0
- data/examples/java/Rakefile +12 -0
- data/examples/java/features/hello.feature +11 -0
- data/examples/java/features/step_definitons/hello_steps.rb +25 -0
- data/examples/java/features/step_definitons/tree_steps.rb +14 -0
- data/examples/java/features/tree.feature +9 -0
- data/examples/java/src/cucumber/demo/Hello.java +16 -0
- data/examples/pure_java/README.textile +5 -0
- data/examples/selenium/Rakefile +6 -0
- data/examples/selenium/features/search.feature +9 -0
- data/examples/selenium/features/step_definitons/search_steps.rb +13 -0
- data/examples/selenium/features/support/env.rb +19 -0
- data/examples/selenium_webrat/Rakefile +6 -0
- data/examples/selenium_webrat/features/search.feature +9 -0
- data/examples/selenium_webrat/features/step_definitons/search_steps.rb +13 -0
- data/examples/selenium_webrat/features/support/env.rb +41 -0
- data/examples/self_test/README.textile +6 -0
- data/examples/self_test/Rakefile +6 -0
- data/examples/self_test/features/background/background_with_name.feature +7 -0
- data/examples/self_test/features/background/failing_background.feature +11 -0
- data/examples/self_test/features/background/failing_background_after_success.feature +11 -0
- data/examples/self_test/features/background/multiline_args_background.feature +32 -0
- data/examples/self_test/features/background/passing_background.feature +10 -0
- data/examples/self_test/features/background/pending_background.feature +10 -0
- data/examples/self_test/features/background/scenario_outline_failing_background.feature +16 -0
- data/examples/self_test/features/background/scenario_outline_passing_background.feature +16 -0
- data/examples/self_test/features/call_undefined_step_from_step_def.feature +7 -0
- data/examples/self_test/features/failing_expectation.feature +4 -0
- data/examples/self_test/features/lots_of_undefined.feature +8 -0
- data/examples/self_test/features/outline_sample.feature +15 -0
- data/examples/self_test/features/sample.feature +19 -0
- data/examples/self_test/features/step_definitions/sample_steps.rb +70 -0
- data/examples/self_test/features/support/env.rb +1 -0
- data/examples/self_test/features/support/tag_count_formatter.rb +25 -0
- data/examples/self_test/features/tons_of_cukes.feature +52 -0
- data/examples/self_test/features/undefined_multiline_args.feature +12 -0
- data/examples/sinatra/Rakefile +6 -0
- data/examples/sinatra/app.rb +14 -0
- data/examples/sinatra/features/add.feature +11 -0
- data/examples/sinatra/features/step_definitions/add_steps.rb +15 -0
- data/examples/sinatra/features/support/env.rb +20 -0
- data/examples/sinatra/views/add.erb +5 -0
- data/examples/sinatra/views/layout.erb +8 -0
- data/examples/test_unit/Rakefile +6 -0
- data/examples/test_unit/features/step_definitions/test_unit_steps.rb +23 -0
- data/examples/test_unit/features/test_unit.feature +9 -0
- data/examples/tickets/Rakefile +16 -0
- data/examples/tickets/features/172.feature +28 -0
- data/examples/tickets/features/177/1.feature +29 -0
- data/examples/tickets/features/177/2.feature +21 -0
- data/examples/tickets/features/177/3.feature +18 -0
- data/examples/tickets/features/180.feature +7 -0
- data/examples/tickets/features/236.feature +13 -0
- data/examples/tickets/features/241.feature +13 -0
- data/examples/tickets/features/246.feature +4 -0
- data/examples/tickets/features/248.feature +11 -0
- data/examples/tickets/features/270/back.feature +14 -0
- data/examples/tickets/features/270/back.steps.rb +14 -0
- data/examples/tickets/features/lib/eatting_machine.rb +18 -0
- data/examples/tickets/features/lib/pantry.rb +20 -0
- data/examples/tickets/features/scenario_outline.feature +95 -0
- data/examples/tickets/features/step_definitons/246_steps.rb +3 -0
- data/examples/tickets/features/step_definitons/248_steps.rb +15 -0
- data/examples/tickets/features/step_definitons/scenario_outline_steps.rb +42 -0
- data/examples/tickets/features/step_definitons/tickets_steps.rb +73 -0
- data/examples/tickets/features/tickets.feature +28 -0
- data/examples/watir/README.textile +16 -0
- data/examples/watir/Rakefile +6 -0
- data/examples/watir/features/search.feature +9 -0
- data/examples/watir/features/step_definitons/search_steps.rb +24 -0
- data/examples/watir/features/support/env.rb +32 -0
- data/features/background.feature +238 -0
- data/features/cucumber_cli.feature +402 -0
- data/features/cucumber_cli_diff_disabled.feature +45 -0
- data/features/cucumber_cli_outlines.feature +84 -0
- data/features/custom_formatter.feature +11 -0
- data/features/report_called_undefined_steps.feature +34 -0
- data/features/snippet.feature +23 -0
- data/features/step_definitions/cucumber_steps.rb +34 -0
- data/features/step_definitions/extra_steps.rb +2 -0
- data/features/support/env.rb +8 -0
- data/features/usage.feature +113 -0
- data/gem_tasks/deployment.rake +11 -0
- data/gem_tasks/environment.rake +7 -0
- data/gem_tasks/features.rake +6 -0
- data/gem_tasks/fix_cr_lf.rake +10 -0
- data/gem_tasks/flog.rake +4 -0
- data/gem_tasks/gemspec.rake +10 -0
- data/gem_tasks/rspec.rake +38 -0
- data/gem_tasks/yard.rake +8 -0
- data/lib/autotest/cucumber.rb +6 -0
- data/lib/autotest/cucumber_mixin.rb +125 -0
- data/lib/autotest/cucumber_rails.rb +6 -0
- data/lib/autotest/cucumber_rails_rspec.rb +6 -0
- data/lib/autotest/cucumber_rspec.rb +6 -0
- data/lib/autotest/discover.rb +9 -0
- data/lib/cucumber/ast/background.rb +50 -0
- data/lib/cucumber/ast/comment.rb +26 -0
- data/lib/cucumber/ast/examples.rb +26 -0
- data/lib/cucumber/ast/feature.rb +52 -0
- data/lib/cucumber/ast/feature_element.rb +38 -0
- data/lib/cucumber/ast/features.rb +26 -0
- data/lib/cucumber/ast/outline_table.rb +73 -0
- data/lib/cucumber/ast/py_string.rb +53 -0
- data/lib/cucumber/ast/scenario.rb +57 -0
- data/lib/cucumber/ast/scenario_outline.rb +80 -0
- data/lib/cucumber/ast/step.rb +105 -0
- data/lib/cucumber/ast/step_collection.rb +62 -0
- data/lib/cucumber/ast/step_invocation.rb +117 -0
- data/lib/cucumber/ast/table.rb +326 -0
- data/lib/cucumber/ast/tags.rb +25 -0
- data/lib/cucumber/ast/visitor.rb +112 -0
- data/lib/cucumber/ast.rb +29 -0
- data/lib/cucumber/broadcaster.rb +13 -0
- data/lib/cucumber/cli/configuration.rb +361 -0
- data/lib/cucumber/cli/language_help_formatter.rb +59 -0
- data/lib/cucumber/cli/main.rb +105 -0
- data/lib/cucumber/core_ext/exception.rb +53 -0
- data/lib/cucumber/core_ext/instance_exec.rb +67 -0
- data/lib/cucumber/core_ext/proc.rb +33 -0
- data/lib/cucumber/core_ext/string.rb +48 -0
- data/lib/cucumber/formatter/ansicolor.rb +110 -0
- data/lib/cucumber/formatter/color_io.rb +23 -0
- data/lib/cucumber/formatter/console.rb +110 -0
- data/lib/cucumber/formatter/cucumber.css +55 -0
- data/lib/cucumber/formatter/cucumber.sass +49 -0
- data/lib/cucumber/formatter/html.rb +186 -0
- data/lib/cucumber/formatter/pretty.rb +185 -0
- data/lib/cucumber/formatter/profile.rb +77 -0
- data/lib/cucumber/formatter/progress.rb +60 -0
- data/lib/cucumber/formatter/rerun.rb +43 -0
- data/lib/cucumber/formatter/unicode.rb +35 -0
- data/lib/cucumber/formatter/usage.rb +85 -0
- data/lib/cucumber/formatter.rb +1 -0
- data/lib/cucumber/formatters/unicode.rb +2 -0
- data/lib/cucumber/languages.yml +455 -0
- data/lib/cucumber/parser/feature.rb +1590 -0
- data/lib/cucumber/parser/feature.tt +288 -0
- data/lib/cucumber/parser/i18n.tt +35 -0
- data/lib/cucumber/parser/table.rb +414 -0
- data/lib/cucumber/parser/table.tt +71 -0
- data/lib/cucumber/parser/treetop_ext.rb +114 -0
- data/lib/cucumber/parser.rb +38 -0
- data/lib/cucumber/platform.rb +17 -0
- data/lib/cucumber/rails/rspec.rb +8 -0
- data/lib/cucumber/rails/world.rb +74 -0
- data/lib/cucumber/rake/task.rb +138 -0
- data/lib/cucumber/step_definition.rb +113 -0
- data/lib/cucumber/step_match.rb +57 -0
- data/lib/cucumber/step_mother.rb +290 -0
- data/lib/cucumber/version.rb +10 -0
- data/lib/cucumber/world.rb +53 -0
- data/lib/cucumber.rb +63 -0
- data/rails_generators/cucumber/USAGE +11 -0
- data/rails_generators/cucumber/cucumber_generator.rb +50 -0
- data/rails_generators/cucumber/templates/cucumber +8 -0
- data/rails_generators/cucumber/templates/cucumber.rake +15 -0
- data/rails_generators/cucumber/templates/env.rb +19 -0
- data/rails_generators/cucumber/templates/paths.rb +29 -0
- data/rails_generators/cucumber/templates/webrat_steps.rb +123 -0
- data/rails_generators/feature/USAGE +12 -0
- data/rails_generators/feature/feature_generator.rb +40 -0
- data/rails_generators/feature/templates/feature.erb +31 -0
- data/rails_generators/feature/templates/steps.erb +20 -0
- data/spec/cucumber/ast/background_spec.rb +50 -0
- data/spec/cucumber/ast/feature_factory.rb +63 -0
- data/spec/cucumber/ast/feature_spec.rb +38 -0
- data/spec/cucumber/ast/py_string_spec.rb +47 -0
- data/spec/cucumber/ast/scenario_outline_spec.rb +67 -0
- data/spec/cucumber/ast/scenario_spec.rb +38 -0
- data/spec/cucumber/ast/step_collection_spec.rb +16 -0
- data/spec/cucumber/ast/step_spec.rb +66 -0
- data/spec/cucumber/ast/table_spec.rb +170 -0
- data/spec/cucumber/broadcaster_spec.rb +15 -0
- data/spec/cucumber/cli/configuration_spec.rb +287 -0
- data/spec/cucumber/cli/main_spec.rb +191 -0
- data/spec/cucumber/core_ext/proc_spec.rb +54 -0
- data/spec/cucumber/core_ext/string_spec.rb +42 -0
- data/spec/cucumber/formatter/ansicolor_spec.rb +35 -0
- data/spec/cucumber/formatter/color_io_spec.rb +26 -0
- data/spec/cucumber/formatter/html/cucumber.css +37 -0
- data/spec/cucumber/formatter/html/cucumber.js +13 -0
- data/spec/cucumber/formatter/html/index.html +45 -0
- data/spec/cucumber/formatter/html/jquery-1.3.min.js +19 -0
- data/spec/cucumber/formatter/html/jquery.uitableedit.js +100 -0
- data/spec/cucumber/formatters/profile_formatter_spec.rb +198 -0
- data/spec/cucumber/parser/feature_parser_spec.rb +284 -0
- data/spec/cucumber/parser/table_parser_spec.rb +48 -0
- data/spec/cucumber/rails/stubs/mini_rails.rb +18 -0
- data/spec/cucumber/rails/stubs/test_help.rb +1 -0
- data/spec/cucumber/rails/world_spec.rb +11 -0
- data/spec/cucumber/sell_cucumbers.feature +19 -0
- data/spec/cucumber/step_definition_spec.rb +101 -0
- data/spec/cucumber/step_mother_spec.rb +137 -0
- data/spec/cucumber/treetop_parser/empty_feature.feature +4 -0
- data/spec/cucumber/treetop_parser/empty_scenario.feature +9 -0
- data/spec/cucumber/treetop_parser/empty_scenario_outline.feature +3 -0
- data/spec/cucumber/treetop_parser/fit_scenario.feature +8 -0
- data/spec/cucumber/treetop_parser/given_scenario.feature +9 -0
- data/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature +7 -0
- data/spec/cucumber/treetop_parser/multiline_steps.feature +17 -0
- data/spec/cucumber/treetop_parser/multiple_tables.feature +27 -0
- data/spec/cucumber/treetop_parser/scenario_outline.feature +16 -0
- data/spec/cucumber/treetop_parser/spaces.feature +12 -0
- data/spec/cucumber/treetop_parser/test_dos.feature +25 -0
- data/spec/cucumber/treetop_parser/with_comments.feature +10 -0
- data/spec/cucumber/treetop_parser/with_tags.feature +18 -0
- data/spec/cucumber/world/pending_spec.rb +47 -0
- data/spec/spec.opts +2 -0
- data/spec/spec_helper.rb +12 -0
- metadata +458 -0
@@ -0,0 +1,11 @@
|
|
1
|
+
Функционалност: Събиране на числа
|
2
|
+
За да не го правят наум
|
3
|
+
Потребителите
|
4
|
+
Трябва да могат да събират числа с калкулатора
|
5
|
+
|
6
|
+
Сценарий: Събиране на две цели числа
|
7
|
+
Дадено е че съм въвел 50
|
8
|
+
И съм въвел 70
|
9
|
+
Когато натисна "+"
|
10
|
+
То резултата трябва да е равен на 120
|
11
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Функционалост: Последователни изчисления
|
2
|
+
За да не го правят наум
|
3
|
+
Потребителите
|
4
|
+
Трябва да могат да извършват последователни изчисления с калкулатора
|
5
|
+
|
6
|
+
Предистория:
|
7
|
+
Дадено е че съм събрал 3 и 5
|
8
|
+
|
9
|
+
Сценарий: събиране с резултата от последната операция
|
10
|
+
Когато въведа 4
|
11
|
+
И натисна "+"
|
12
|
+
То резултата трябва да е равен на 12
|
13
|
+
|
14
|
+
Сценарий: делене с резултата от последната операция
|
15
|
+
Когато въведа 2
|
16
|
+
И натисна "/"
|
17
|
+
То резултата трябва да е равен на 4
|
18
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Фунцкционалност: Делене на числа
|
2
|
+
За да не го правят наум
|
3
|
+
Потребителите
|
4
|
+
Трябва да могат да разделят числа с калкулатора
|
5
|
+
|
6
|
+
Рамка на сценарий: Делене на цели числа
|
7
|
+
Дадено е че съм въвел <делимо>
|
8
|
+
И е че съм въвел <делител>
|
9
|
+
Когато натисна "/"
|
10
|
+
То резултата трябва да е равен на <частно>
|
11
|
+
|
12
|
+
Примери:
|
13
|
+
| делимо | делител | частно |
|
14
|
+
| 100 | 2 | 50 |
|
15
|
+
| 28 | 7 | 4 |
|
16
|
+
| 0 | 5 | 0 |
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
Дадено /въвел (\d+)/ do |x|
|
4
|
+
calc.push x.to_i
|
5
|
+
end
|
6
|
+
|
7
|
+
Когато /^въведа (\d+)/ do |x|
|
8
|
+
calc.push x.to_i
|
9
|
+
end
|
10
|
+
|
11
|
+
Когато /натисна "(.*)"/ do |op|
|
12
|
+
calc.send op
|
13
|
+
end
|
14
|
+
|
15
|
+
То /резултата трябва да е равен на (\d+)/ do |result|
|
16
|
+
calc.result.should == result.to_f
|
17
|
+
end
|
18
|
+
|
19
|
+
Дадено /събрал (\d+) и (\d+)/ do |x, y|
|
20
|
+
Дадено %{въвел #{x}}
|
21
|
+
Дадено %{въвел #{y}}
|
22
|
+
Дадено %{натисна "+"}
|
23
|
+
end
|
24
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
class Calculator
|
4
|
+
def initialize
|
5
|
+
@stack = []
|
6
|
+
end
|
7
|
+
|
8
|
+
def push(arg)
|
9
|
+
@stack.push arg
|
10
|
+
end
|
11
|
+
|
12
|
+
def result
|
13
|
+
@stack.last
|
14
|
+
end
|
15
|
+
|
16
|
+
def +
|
17
|
+
@stack.push @stack.pop + @stack.pop
|
18
|
+
end
|
19
|
+
|
20
|
+
def /
|
21
|
+
divisor, dividend = [@stack.pop, @stack.pop] # Hm, @stack.pop(2) doesn't work
|
22
|
+
@stack.push dividend / divisor
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec/expectations'
|
3
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
|
4
|
+
require 'cucumber/formatter/unicode'
|
5
|
+
require 'kalkulator'
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@calc = Kalkulator.new
|
9
|
+
end
|
10
|
+
|
11
|
+
After do
|
12
|
+
end
|
13
|
+
|
14
|
+
Given /at jeg har indtastet (\d+)/ do |n|
|
15
|
+
@calc.push n.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
When 'jeg summerer' do
|
19
|
+
@result = @calc.add
|
20
|
+
end
|
21
|
+
|
22
|
+
Then /skal resultatet være (\d*)/ do |result|
|
23
|
+
@result.should == result.to_i
|
24
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
Egenskab: Summering
|
2
|
+
For at slippe for at lave dumme fejl
|
3
|
+
Som en regnskabsfører
|
4
|
+
Vil jeg kunne lægge sammen
|
5
|
+
|
6
|
+
Scenarie: to tal
|
7
|
+
Givet at jeg har indtastet 5
|
8
|
+
Og at jeg har indtastet 7
|
9
|
+
Når jeg summerer
|
10
|
+
Så skal resultatet være 12
|
11
|
+
|
12
|
+
Scenarie: tre tal
|
13
|
+
Givet at jeg har indtastet 5
|
14
|
+
Og at jeg har indtastet 7
|
15
|
+
Og at jeg har indtastet 1
|
16
|
+
Når jeg summerer
|
17
|
+
Så skal resultatet være 13
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Funktionalität: Addition
|
2
|
+
Um dumme Fehler zu vermeiden
|
3
|
+
möchte ich als Matheidiot
|
4
|
+
die Summe zweier Zahlen gesagt bekommen
|
5
|
+
|
6
|
+
Szenariogrundriss: Zwei Zahlen hinzufügen
|
7
|
+
Gegeben sei ich habe <Eingabe_1> in den Taschenrechner eingegeben
|
8
|
+
Und ich habe <Eingabe_2> in den Taschenrechner eingegeben
|
9
|
+
Wenn ich <Knopf> drücke
|
10
|
+
Dann sollte das Ergebniss auf dem Bildschirm <Ausgabe> sein
|
11
|
+
|
12
|
+
Beispiele:
|
13
|
+
| Eingabe_1 | Eingabe_2 | Knopf | Ausgabe |
|
14
|
+
| 20 | 30 | add | 50 |
|
15
|
+
| 2 | 5 | add | 7 |
|
16
|
+
| 0 | 40 | add | 40 |
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Funktionalität: Division
|
2
|
+
Um dumme Fehler zu vermeiden
|
3
|
+
müssen Kassierer in der Lage sein einen Bruchteil zu berechnen
|
4
|
+
|
5
|
+
Szenario: Normale Zahlen
|
6
|
+
Gegeben sei ich habe 3 in den Taschenrechner eingegeben
|
7
|
+
Und ich habe 2 in den Taschenrechner eingegeben
|
8
|
+
Wenn ich divide drücke
|
9
|
+
Dann sollte das Ergebniss auf dem Bildschirm 1.5 sein
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec/expectations'
|
3
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
|
4
|
+
require 'cucumber/formatter/unicode'
|
5
|
+
require 'calculator'
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@calc = Calculator.new
|
9
|
+
end
|
10
|
+
|
11
|
+
After do
|
12
|
+
end
|
13
|
+
|
14
|
+
Given /ich habe (\d+) in den Taschenrechner eingegeben/ do |n|
|
15
|
+
@calc.push n.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
When /ich (\w+) drücke/ do |op|
|
19
|
+
@result = @calc.send op
|
20
|
+
end
|
21
|
+
|
22
|
+
Then /sollte das Ergebniss auf dem Bildschirm (.*) sein/ do |result|
|
23
|
+
@result.should == result.to_f
|
24
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Feature: Addition
|
2
|
+
In order to avoid silly mistakes
|
3
|
+
As a math idiot
|
4
|
+
I want to be told the sum of two numbers
|
5
|
+
|
6
|
+
Scenario Outline: Add two numbers
|
7
|
+
Given I have entered <input_1> into the calculator
|
8
|
+
And I have entered <input_2> into the calculator
|
9
|
+
When I press <button>
|
10
|
+
Then the result should be <output> on the screen
|
11
|
+
|
12
|
+
Examples:
|
13
|
+
| input_1 | input_2 | button | output |
|
14
|
+
| 20 | 30 | add | 50 |
|
15
|
+
| 2 | 5 | add | 7 |
|
16
|
+
| 0 | 40 | add | 40 |
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Feature: Division
|
2
|
+
In order to avoid silly mistakes
|
3
|
+
Cashiers must be able to calculate a fraction
|
4
|
+
|
5
|
+
Scenario: Regular numbers
|
6
|
+
Given I have entered 3 into the calculator
|
7
|
+
And I have entered 2 into the calculator
|
8
|
+
When I press divide
|
9
|
+
Then the result should be 1.5 on the screen
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec/expectations'
|
3
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
|
4
|
+
require 'cucumber/formatter/unicode'
|
5
|
+
require 'calculator'
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@calc = Calculator.new
|
9
|
+
end
|
10
|
+
|
11
|
+
After do
|
12
|
+
end
|
13
|
+
|
14
|
+
Given /I have entered (\d+) into the calculator/ do |n|
|
15
|
+
@calc.push n.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
When /I press (\w+)/ do |op|
|
19
|
+
@result = @calc.send op
|
20
|
+
end
|
21
|
+
|
22
|
+
Then /the result should be (.*) on the screen/ do |result|
|
23
|
+
@result.should == result.to_f
|
24
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
ICANHAZ /^IN TEH BEGINNIN (\d+) CUCUMBRZ$/ do |n|
|
2
|
+
@basket = Basket.new(n.to_i)
|
3
|
+
end
|
4
|
+
|
5
|
+
WEN /^I EAT (\d+) CUCUMBRZ$/ do |n|
|
6
|
+
@belly = Belly.new
|
7
|
+
@belly.eat(@basket.take(n.to_i))
|
8
|
+
end
|
9
|
+
|
10
|
+
DEN /^I HAS (\d+) CUCUMBERZ IN MAH BELLY$/ do |n|
|
11
|
+
@belly.cukes.should == n.to_i
|
12
|
+
end
|
13
|
+
|
14
|
+
AN /^IN TEH END (\d+) CUCUMBRZ KTHXBAI$/ do |n|
|
15
|
+
@basket.cukes.should == n.to_i
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Característica: adición
|
2
|
+
Para evitar hacer errores tontos
|
3
|
+
Como un matemático idiota
|
4
|
+
Quiero saber la suma de los números
|
5
|
+
|
6
|
+
Esquema del escenario: Sumar dos números
|
7
|
+
Dado que he introducido <entrada_1> en la calculadora
|
8
|
+
Y que he introducido <entrada_2> en la calculadora
|
9
|
+
Cuando oprimo el <botón>
|
10
|
+
Entonces el resultado debe ser <resultado> en la pantalla
|
11
|
+
|
12
|
+
Ejemplos:
|
13
|
+
| entrada_1 | entrada_2 | botón | resultado |
|
14
|
+
| 20 | 30 | add | 50 |
|
15
|
+
| 2 | 5 | add | 7 |
|
16
|
+
| 0 | 40 | add | 40 |
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec/expectations'
|
3
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
|
4
|
+
require 'cucumber/formatter/unicode'
|
5
|
+
require 'calculador'
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@calc = Calculador.new
|
9
|
+
end
|
10
|
+
|
11
|
+
Dado /que he introducido (\d+) en la calculadora/ do |n|
|
12
|
+
@calc.push n.to_i
|
13
|
+
end
|
14
|
+
|
15
|
+
Cuando /oprimo el (\w+)/ do |op|
|
16
|
+
@result = @calc.send op
|
17
|
+
end
|
18
|
+
|
19
|
+
Entonces /el resultado debe ser (.*) en la pantalla/ do |result|
|
20
|
+
@result.should == result.to_f
|
21
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Omadus: Jagamine
|
2
|
+
Rumalate vigade vältimiseks
|
3
|
+
Peavad kassapidajad saama arvutada murdudes
|
4
|
+
|
5
|
+
Stsenaarium: Tavalised numrbid
|
6
|
+
Eeldades et olen sisestanud kalkulaatorisse numbri 3
|
7
|
+
Ja olen sisestanud kalkulaatorisse numbri 2
|
8
|
+
Kui ma vajutan jaga
|
9
|
+
Siis vastuseks peab ekraanil kuvatama 1.5
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Omadus: Liitmine
|
2
|
+
Selleks et vältida rumalaid vigu
|
3
|
+
Olles matemaatika-puupea
|
4
|
+
Tahan et mulle öeldaks kahe numbri summa
|
5
|
+
|
6
|
+
Raamstsenaarium: Liida kaks numbrit
|
7
|
+
Eeldades et olen sisestanud kalkulaatorisse numbri <input_1>
|
8
|
+
Ja olen sisestanud kalkulaatorisse numbri <input_2>
|
9
|
+
Kui ma vajutan <button>
|
10
|
+
Siis vastuseks peab ekraanil kuvatama <output>
|
11
|
+
|
12
|
+
Juhtumid:
|
13
|
+
| input_1 | input_2 | button | output |
|
14
|
+
| 20 | 30 | liida | 50 |
|
15
|
+
| 2 | 5 | liida | 7 |
|
16
|
+
| 0 | 40 | liida | 40 |
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec/expectations'
|
3
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
|
4
|
+
require 'cucumber/formatter/unicode'
|
5
|
+
require 'kalkulaator'
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@calc = Kalkulaator.new
|
9
|
+
end
|
10
|
+
|
11
|
+
After do
|
12
|
+
end
|
13
|
+
|
14
|
+
Given /olen sisestanud kalkulaatorisse numbri (\d+)/ do |n|
|
15
|
+
@calc.push n.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
When /ma vajutan (\w+)/ do |op|
|
19
|
+
@result = @calc.send op
|
20
|
+
end
|
21
|
+
|
22
|
+
Then /vastuseks peab ekraanil kuvatama (.*)/ do |result|
|
23
|
+
@result.should == result.to_f
|
24
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Ominaisuus: Jakolasku
|
2
|
+
Välttyäkseen hölmöiltä virheiltä
|
3
|
+
Kassanhoitajan on voitava laskea osamäärä
|
4
|
+
|
5
|
+
Tapaus: Kokonaislukujen jakolasku
|
6
|
+
Oletetaan että olen syöttänyt laskimeen luvun 3
|
7
|
+
Ja että olen syöttänyt laskimeen luvun 2
|
8
|
+
Kun painan "jaa"
|
9
|
+
Niin laskimen ruudulla pitäisi näkyä tulos 1.5
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec/expectations'
|
3
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib')
|
4
|
+
require 'cucumber/formatter/unicode'
|
5
|
+
require 'laskin'
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@laskin = Laskin.new
|
9
|
+
end
|
10
|
+
|
11
|
+
After do
|
12
|
+
end
|
13
|
+
|
14
|
+
Given /että olen syöttänyt laskimeen luvun (\d+)/ do |n|
|
15
|
+
@laskin.pinoa n.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
When /painan "(\w+)"/ do |op|
|
19
|
+
@tulos = @laskin.send op
|
20
|
+
end
|
21
|
+
|
22
|
+
Then /laskimen ruudulla pitäisi näkyä tulos (.*)/ do |tulos|
|
23
|
+
@tulos.should == tulos.to_f
|
24
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Ominaisuus: Yhteenlasku
|
2
|
+
Välttyäkseni hölmöiltä virheiltä
|
3
|
+
Koska olen laskutaidoton
|
4
|
+
Haluan että yhteenlaskut lasketaan puolestani
|
5
|
+
|
6
|
+
Tapausaihio: Kahden luvun summa
|
7
|
+
Oletetaan että olen syöttänyt laskimeen luvun 50
|
8
|
+
Ja että olen syöttänyt laskimeen luvun 70
|
9
|
+
Kun painan "summaa"
|
10
|
+
Niin laskimen ruudulla pitäisi näkyä tulos 120
|
11
|
+
|
12
|
+
Tapaukset:
|
13
|
+
| luku_1 | luku_2 | nappi | tulos |
|
14
|
+
| 20 | 30 | summaa | 50 |
|
15
|
+
| 2 | 5 | summaa | 7 |
|
16
|
+
| 0 | 40 | summaa | 40 |
|