Cucumber - Gooby Installation Tests

The following is the cucumber feature for testing the gooby installation process.
The installation process invokes this shell script

The test is invoked with command: cucumber features/install.feature

The matcher steps are implemented in ruby code.

Feature: Install Gooby
  Gem file 'gooby-2.0.0.gem' has been created and downloaded
  now we install it, run setup.rb, and ensure that certain files are present

Scenario: Execute the install process
  Given file 'install.sh' exists
  And   the gem we are installing is named 'gooby-2.0.0.gem'
  And   file '/temp/gooby-2.0.0.gem' exists
  And   file 'gem_list_after_uninstall.txt' is removed if present 
  And   file 'gem_list_after_install.txt' is removed if present 
  And   GOOBY_HOME is set to '/Users/cjoakim/gooby'
  And   the GOOBY_HOME directory is recreated

  Then  we execute the shell script './install.sh'  
  And   my garmin training center export file 'current.tcx' file is restored
  And   these unpacked files exist within directory '/Users/cjoakim/gooby':
  | file                                          | type      |
  | config                                        | directory |
  | csv                                           | directory |
  | data                                          | directory |
  | features/steps                                | directory |
  | features/support                              | directory |
  | out/images                                    | directory |
  | samples                                       | directory |
  | splits                                        | directory |
  | tmp                                           | directory |
  | cucumber.yml                                  | regular   |
  | README                                        | regular   |
  | rakefile.rb                                   | regular   |
  | samples.sh                                    | regular   |
  | setup.rb                                      | regular   |
  | config/ballantyne.yaml                        | regular   |
  | config/big_sur_marathon.yaml                  | regular   |
  | config/crowders_mtn_hike.yaml                 | regular   |
  | config/davidson1.yaml                         | regular   |
  | config/gooby_config.yaml                      | regular   |
  | csv/2008_04_27_13_49_50_tcx.csv               | regular   |
  | data/current.tcx                              | regular   |
  | features/build_gem.feature                    | regular   |
  | features/gooby.feature                        | regular   |
  | features/install.feature                      | regular   |
  | features/steps/gooby_steps.rb                 | regular   |
  | features/support/env.rb                       | regular   |
  | out/images/dd-end.png                         | regular   |
  | out/images/dd-end.png                         | regular   |
  | out/images/marker1.png                        | regular   |
  | out/images/marker26.png                       | regular   |
  | out/images/shadow50.png                       | regular   |
  | samples/2008_04_27_13_49_50_tcx.csv           | regular   |
  | samples/2008_04_27_13_49_50_tcx.xml           | regular   |
  | samples/2009_01_01_14_45_00_tcx.xml           | regular   |
  | samples/ballantyne.csv                        | regular   |
  | samples/ballantyne.gpx                        | regular   |
  | samples/ballantyne.kml                        | regular   |
  | samples/big_sur_marathon.html                 | regular   |
  | samples/big_sur_marathon.kml                  | regular   |
  | samples/build_gem_test_results.txt            | regular   |
  | samples/crowders_mtn_hike.csv                 | regular   |
  | samples/crowders_mtn_hike.html                | regular   |
  | samples/crowders_mtn_hike.log                 | regular   |
  | samples/cucumber_test_results.txt             | regular   |
  | samples/davidson1.csv                         | regular   |
  | samples/davidson1.html                        | regular   |
  | samples/doc.kml                               | regular   |
  | samples/gps_track_log_asheville_mt_pisgah.txt | regular   |
  | samples/gps_track_logs.txt                    | regular   |
  | samples/install_test_results.txt              | regular   |
  | samples/mt_pisgah.txt                         | regular   |
  | samples/rspec_test_results.txt                | regular   |

  And these generated files exist within directory '/Users/cjoakim/gooby':
  | file                                          | type      |
  | out/ballantyne.html                           | regular   |
  | out/ballantyne.kml                            | regular   |
  | out/big_sur_marathon.html                     | regular   |
  | out/big_sur_marathon.kml                      | regular   |
  | out/crowders_mtn_hike.html                    | regular   |
  | out/crowders_mtn_hike.kml                     | regular   |
      
...and this is the output of the above test:
Feature: Install Gooby
  Gem file 'gooby-2.0.0.gem' has been created and downloaded
  now we install it, run setup.rb, and ensure that certain files are present

  Scenario: Execute the install process                                      # features/install.feature:5
    Given file 'install.sh' exists                                           # features/steps/gooby_steps.rb:187
    And the gem we are installing is named 'gooby-2.0.0.gem'                 # features/steps/gooby_steps.rb:209
    And file '/temp/gooby-2.0.0.gem' exists                                  # features/steps/gooby_steps.rb:187
    And file 'gem_list_after_uninstall.txt' is removed if present            # features/steps/gooby_steps.rb:213
    And file 'gem_list_after_install.txt' is removed if present              # features/steps/gooby_steps.rb:213
    And GOOBY_HOME is set to '/Users/cjoakim/gooby'                          # features/steps/gooby_steps.rb:14
    And the GOOBY_HOME directory is recreated                                # features/steps/gooby_steps.rb:198
    Then we execute the shell script './install.sh'                          # features/steps/gooby_steps.rb:226
    And my garmin training center export file 'current.tcx' file is restored # features/steps/gooby_steps.rb:205
    And these unpacked files exist within directory '/Users/cjoakim/gooby':  # features/steps/gooby_steps.rb:231
      | file                                          | type      |
      | config                                        | directory |
      | csv                                           | directory |
      | data                                          | directory |
      | features/steps                                | directory |
      | features/support                              | directory |
      | out/images                                    | directory |
      | samples                                       | directory |
      | splits                                        | directory |
      | tmp                                           | directory |
      | cucumber.yml                                  | regular   |
      | README                                        | regular   |
      | rakefile.rb                                   | regular   |
      | samples.sh                                    | regular   |
      | setup.rb                                      | regular   |
      | config/ballantyne.yaml                        | regular   |
      | config/big_sur_marathon.yaml                  | regular   |
      | config/crowders_mtn_hike.yaml                 | regular   |
      | config/davidson1.yaml                         | regular   |
      | config/gooby_config.yaml                      | regular   |
      | csv/2008_04_27_13_49_50_tcx.csv               | regular   |
      | data/current.tcx                              | regular   |
      | features/build_gem.feature                    | regular   |
      | features/gooby.feature                        | regular   |
      | features/install.feature                      | regular   |
      | features/steps/gooby_steps.rb                 | regular   |
      | features/support/env.rb                       | regular   |
      | out/images/dd-end.png                         | regular   |
      | out/images/dd-end.png                         | regular   |
      | out/images/marker1.png                        | regular   |
      | out/images/marker26.png                       | regular   |
      | out/images/shadow50.png                       | regular   |
      | samples/2008_04_27_13_49_50_tcx.csv           | regular   |
      | samples/2008_04_27_13_49_50_tcx.xml           | regular   |
      | samples/2009_01_01_14_45_00_tcx.xml           | regular   |
      | samples/ballantyne.csv                        | regular   |
      | samples/ballantyne.gpx                        | regular   |
      | samples/ballantyne.kml                        | regular   |
      | samples/big_sur_marathon.html                 | regular   |
      | samples/big_sur_marathon.kml                  | regular   |
      | samples/build_gem_test_results.txt            | regular   |
      | samples/crowders_mtn_hike.csv                 | regular   |
      | samples/crowders_mtn_hike.html                | regular   |
      | samples/crowders_mtn_hike.log                 | regular   |
      | samples/cucumber_test_results.txt             | regular   |
      | samples/davidson1.csv                         | regular   |
      | samples/davidson1.html                        | regular   |
      | samples/doc.kml                               | regular   |
      | samples/gps_track_log_asheville_mt_pisgah.txt | regular   |
      | samples/gps_track_logs.txt                    | regular   |
      | samples/install_test_results.txt              | regular   |
      | samples/mt_pisgah.txt                         | regular   |
      | samples/rspec_test_results.txt                | regular   |
    And these generated files exist within directory '/Users/cjoakim/gooby': # features/steps/gooby_steps.rb:231
      | file                       | type    |
      | out/ballantyne.html        | regular |
      | out/ballantyne.kml         | regular |
      | out/big_sur_marathon.html  | regular |
      | out/big_sur_marathon.kml   | regular |
      | out/crowders_mtn_hike.html | regular |
      | out/crowders_mtn_hike.kml  | regular |

1 scenario (1 passed)
11 steps (11 passed)