Kata Tournament Runner  0.1.00
 All Classes Namespaces Functions Variables Enumerations Groups Pages
Kata Tournament Runner Features

Table of Contents

Relish

The project is also hosted on relish.

Features

Setup Tournament

# language: en
Feature: Setup Tournament
  As a Tournament organizer
  I want to setup a Tournament
  In order to get started

Scenario: Create a new Tournament with a name and date provided only
  Given no tournament is open
  When I create the following Tournament:
    |name |    date   |
    | SM  | 2013-06-20|

  Then the following tournament is opened:
    |name |   date    |
    | SM  | 2013-06-20|


Scenario: Create a new Tournament with location specified
  Given no tournament is open
  When I create the following Tournament:
    |name         |    date    | location |
    | SM          | 2013-06-20 |  Wohlen  |

  Then the following tournament is opened:
    |name         |    date    | location |
    | SM          | 2013-06-20 |  Wohlen  |
    
Scenario: Register an attendee to the tournament
  Given a Tournament is open

  When I add the following participants to the tournament:
    | name   | surname | date of birth |   dojo      | belt   |
    |  Oyama |  Mas    |  1923-07-27   |   Honbu     | 10 Dan |
    | Arneil |  Steve  |  1934-08-29   |   London    |  9 Dan |
    | Norris |  Chuck  |  1940-03-10   | Chun Kuk Do |  6 Dan |

  Then the number of participants for the tournament should be 3


Kata Round

# language: en

Feature: Kata tournament round ranking
  As a Tournament executor
  I want to have the points given for a kata summed up for every performance
  In order to do a ranking

Scenario Outline: Calculate the score for a kata.
    The maximum and minimum scores awarded are deleted. The three remaining scores are added together to calculate the score.

  Given a participant has performed a kata

  When a referee gives score <score 1>
  And a referee gives score <score 2>
  And a referee gives score <score 3>
  And a referee gives score <score 4>
  And a referee gives score <score 5>

  Then the sum of points given should be <sum>
  And the maximum score canceled should be <maximum>
  And the minimum score canceled should be <minimum>

  Examples:
    |score 1 | score 2| score 3 | score 4 | score 5 |  sum  | maximum | minimum |
    |  5.8   |   5.6  |   5.6   |   5.7   |    5.5  | 16.9  |   5.8   |   5.5   |
    |  5.9   |   5.9  |   5.9   |   5.9   |    5.5  | 17.7  |   5.9   |   5.5   |
    |  5.9   |   5.9  |   5.9   |   5.9   |    5.9  | 17.7  |   5.9   |   5.9   |
    |  5.3   |   5.3  |   5.4   |   5.3   |    5.3  | 15.9  |   5.4   |   5.3   |
    |  5.0   |   5.1  |   5.0   |   5.0   |    5.1  | 15.1  |   5.1   |   5.0   |

Scenario: Calculate the rank per round. If scores are equal the larger canceled mimimum score is first taken into account, and
  if they are the same the larger canceled maximum score is taken into account.

  Given the following participants have performed a kata:
    |start No | name   | surname | date of birth |   dojo      | belt   |score 1 | score 2| score 3 | score 4 | score 5 |
    |    0    | Lee    |  Brian  |  1975-05-24   | Iron Dragon |  1 Kyu |  5.0   |   5.2  |   5.3   |   5.2   |    5.2  |
    |    1    | Oyama  |  Mas    |  1923-07-27   |   Honbu     | 10 Dan |  5.8   |   5.8  |   5.7   |   5.7   |    5.5  |
    |    2    | Arneil |  Steve  |  1934-08-29   |   London    |  9 Dan |  5.9   |   5.7  |   5.7   |   5.8   |    5.5  |
    |    3    | Jet    |  Jimi   |  1960-01-20   | Mushin      |  2 Kyu |  5.0   |   5.2  |   5.2   |   5.2   |    5.2  |
    |    4    | Norris |  John   |  1970-05-14   | Chun Kuk Do |  1 Dan |  5.2   |   5.2  |   5.4   |   5.2   |    5.2  |
    |    5    | Norris |  Chuck  |  1940-03-10   | Chun Kuk Do |  6 Dan |  5.6   |   5.6  |   5.6   |   5.6   |    5.6  |

  When the ranks for a round are caclulated
  Then the ranked list should be the following:
    |start No | rank  | name   | surname | date of birth |   dojo      | belt   |  sum   | maximum | minimum |
    |    2    |  1    | Arneil |  Steve  |  1934-08-29   |   London    |  9 Dan |  17.2  |   5.9   |   5.5   |
    |    1    |  2    | Oyama  |  Mas    |  1923-07-27   |   Honbu     | 10 Dan |  17.2  |   5.8   |   5.5   |
    |    5    |  3    | Norris |  Chuck  |  1940-03-10   | Chun Kuk Do |  6 Dan |  16.8  |   5.6   |   5.6   |
    |    4    |  4    | Norris |  John   |  1970-05-14   | Chun Kuk Do |  1 Dan |  15.6  |   5.4   |   5.2   |
    |    0    |  5    | Lee    |  Brian  |  1975-05-24   | Iron Dragon |  1 Kyu |  15.6  |   5.3   |   5.0   |
    |    3    |  6    | Jet    |  Jimi   |  1960-01-20   | Mushin      |  2 Kyu |  15.6  |   5.2   |   5.0   |

Scenario Outline: Calculate the score for a kata with an overall deduction.
    The maximum and minimum scores awarded are deleted. The three remaining scores are added together and the deductions substracted to calculate the score.

  Given a participant has performed a kata

  When a referee gives score <score 1>
  And a referee gives score <score 2>
  And a referee gives score <score 3>
  And a referee gives score <score 4>
  And a referee gives score <score 5>
  And the overall deduction is <deduction>

  Then the sum of points given should be <sum>
  And the maximum score canceled should be <maximum>
  And the minimum score canceled should be <minimum>

  Examples:
    |score 1 | score 2| score 3 | score 4 | score 5 | deduction | sum   | maximum | minimum |
    |  5.8   |   5.6  |   5.6   |   5.7   |    5.5  |    1.0    | 15.9  |   5.8   |   5.5   |
    |  5.9   |   5.9  |   5.9   |   5.9   |    5.5  |    0.5    | 17.2  |   5.9   |   5.5   |
    |  5.9   |   5.9  |   5.9   |   5.9   |    5.9  |    1.5    | 16.2  |   5.9   |   5.9   |
    |  5.3   |   5.3  |   5.4   |   5.3   |    5.3  |    1.0    | 14.9  |   5.4   |   5.3   |
    |  5.0   |   5.1  |   5.0   |   5.0   |    5.1  |    0.0    | 15.1  |   5.1   |   5.0   |


 




Kata Round Startlist

# language: en

Feature: Kata tournament round startlist
  As a Tournament executor
  I want to have a startlist for the next round based on the scores of the previous round and the number of participant nominated for the next round
  In order to execute a kata tournament according to the rules

Scenario: Create the startlist for the next round.
  The startlist is ordered with the highest ranked performer starting last.

  Given the following participants have performed a kata:
    | start No | name   | surname | date of birth |   dojo      | belt   |score 1 | score 2| score 3 | score 4 | score 5 |
    |     0    | Lee    |  Brian  |  1975-05-24   | Iron Dragon |  1 Kyu |  5.0   |   5.2  |   5.3   |   5.2   |    5.2  |
    |     1    | Oyama  |  Mas    |  1923-07-27   |   Honbu     | 10 Dan |  5.8   |   5.8  |   5.7   |   5.7   |    5.5  |
    |     2    | Arneil |  Steve  |  1934-08-29   |   London    |  9 Dan |  5.9   |   5.7  |   5.7   |   5.8   |    5.5  |
    |     3    | Jet    |  Jimi   |  1960-01-20   | Mushin      |  2 Kyu |  5.0   |   5.2  |   5.2   |   5.2   |    5.2  |
    |     4    | Norris |  John   |  1970-05-14   | Chun Kuk Do |  1 Dan |  5.2   |   5.2  |   5.4   |   5.2   |    5.2  |
    |     5    | Norris |  Chuck  |  1940-03-10   | Chun Kuk Do |  6 Dan |  5.6   |   5.6  |   5.6   |   5.6   |    5.6  |
  And the best 4 participants are nominated for the next round 
  When the next round starts
  Then the list contains 4 participants
  And the list of participants for the round is the following:
    | start position | rank | start No | name   | surname |
    |         1      |   4  |     4    | Norris |  John   |
    |         2      |   3  |     5    | Norris |  Chuck  |
    |         3      |   2  |     1    | Oyama  |  Mas    |
    |         4      |   1  |     2    | Arneil |  Steve  |

Scenario: Create the startlist for the next round with the fourth and fifth having the same scores.

  Given the following participants have performed a kata:
    | start No | name   | surname | date of birth |   dojo      | belt   |score 1 | score 2| score 3 | score 4 | score 5 |
    |    0     | Lee    |  Brian  |  1975-05-24   | Iron Dragon |  1 Kyu |  5.2   |   5.4  |   5.2   |   5.2   |    5.2  |
    |    1     | Oyama  |  Mas    |  1923-07-27   |   Honbu     | 10 Dan |  5.8   |   5.8  |   5.7   |   5.7   |    5.5  |
    |    2     | Arneil |  Steve  |  1934-08-29   |   London    |  9 Dan |  5.9   |   5.7  |   5.7   |   5.8   |    5.5  |
    |    3     | Jet    |  Jimi   |  1960-01-20   | Mushin      |  2 Kyu |  5.0   |   5.2  |   5.2   |   5.2   |    5.2  |
    |    4     | Norris |  John   |  1970-05-14   | Chun Kuk Do |  1 Dan |  5.2   |   5.2  |   5.4   |   5.2   |    5.2  |
    |    5     | Norris |  Chuck  |  1940-03-10   | Chun Kuk Do |  6 Dan |  5.6   |   5.6  |   5.6   |   5.6   |    5.6  |
  And the best 4 participants are nominated for the next round 
  When the next round starts
  Then the list contains 5 participants
  And the list of participants for the round is the following:
    | start position | rank |  start No | name    | surname |
    |         1      |   4  |     0     |  Lee    |  Brian  |
    |         2      |   4  |     4     |  Norris |  John   |
    |         3      |   3  |     5     |  Norris |  Chuck  |
    |         4      |   2  |     1     |  Oyama  |  Mas    |
    |         5      |   1  |     2     |  Arneil |  Steve  |

Scenario: Create the startlist for the next round with the fourth, fifth and sixth having the same scores.

  Given the following participants have performed a kata:
    | start No | name   | surname | date of birth |   dojo      | belt   |score 1 | score 2| score 3 | score 4 | score 5 |
    |    0     | Lee    |  Brian  |  1975-05-24   | Iron Dragon |  1 Kyu |  5.2   |   5.4  |   5.2   |   5.2   |    5.2  |
    |    1     | Oyama  |  Mas    |  1923-07-27   |   Honbu     | 10 Dan |  5.8   |   5.8  |   5.7   |   5.7   |    5.5  |
    |    2     | Arneil |  Steve  |  1934-08-29   |   London    |  9 Dan |  5.9   |   5.7  |   5.7   |   5.8   |    5.5  |
    |    3     | Jet    |  Jimi   |  1960-01-20   | Mushin      |  2 Kyu |  5.4   |   5.2  |   5.2   |   5.2   |    5.2  |
    |    4     | Norris |  John   |  1970-05-14   | Chun Kuk Do |  1 Dan |  5.2   |   5.2  |   5.4   |   5.2   |    5.2  |
    |    5     | Norris |  Chuck  |  1940-03-10   | Chun Kuk Do |  6 Dan |  5.6   |   5.6  |   5.6   |   5.6   |    5.6  |
  And the best 4 participants are nominated for the next round 
  When the next round starts
  Then the list contains 6 participants
  And the list of participants for the round is the following:
    | start position | rank |  start No | name    | surname |
    |         1      |   4  |      0    |  Lee    |  Brian  |
    |         2      |   4  |      3    |  Jet    |  Jimi   |
    |         3      |   4  |      4    |  Norris |  John   |
    |         4      |   3  |      5    |  Norris |  Chuck  |
    |         5      |   2  |      1    |  Oyama  |  Mas    |
    |         6      |   1  |      2    |  Arneil |  Steve  |

Scenario: Create the startlist for the third round.
  The startlist for the third round is based on the scores of the second round only.

  Given the following participants performed a kata in the 1st round:
    | start No | name      | surname     | date of birth |   dojo      | belt   |score 1 | score 2| score 3 | score 4 | score 5 |
    |     0    | Lee       |  Brian      |  1975-05-24   | Iron Dragon |  1 Kyu |  5.0   |   5.1  |   5.3   |   5.2   |    5.2  |
    |     1    | Oyama     |  Mas        |  1923-07-27   |   Honbu     | 10 Dan |  5.8   |   5.8  |   5.7   |   5.7   |    5.5  |
    |     2    | Arneil    |  Steve      |  1934-08-29   |   London    |  9 Dan |  5.9   |   5.7  |   5.7   |   5.8   |    5.5  |
    |     3    | Jet       |  Jimi       |  1960-01-20   | Mushin      |  2 Kyu |  5.0   |   5.2  |   5.2   |   5.2   |    5.2  |
    |     4    | Norris    |  John       |  1970-05-14   | Chun Kuk Do |  1 Dan |  5.2   |   5.2  |   5.4   |   5.2   |    5.2  |
    |     5    | Norris    |  Chuck      |  1940-03-10   | Chun Kuk Do |  6 Dan |  5.6   |   5.6  |   5.6   |   5.6   |    5.6  |
    |     6    | Lundgren  |  Dolph      |  1957-11-03   | Stockholm   |  3 Dan |  5.0   |   5.0  |   5.0   |   5.0   |    5.0  |
    |     7    | Van Damme | Jean-Claude |  1960-10-18   | CNDK        |  1 Dan |  4.8   |   4.9  |   5.0   |   5.0   |    5.1  |
  And the following participants performed a kata in the 2nd round:
    | start No | name      | surname     | date of birth |   dojo      | belt   |score 1 | score 2| score 3 | score 4 | score 5 |
    |     0    | Lee       |  Brian      |  1975-05-24   | Iron Dragon |  1 Kyu |  5.5   |   5.4  |   5.5   |   5.4   |    5.3  |
    |     3    | Jet       |  Jimi       |  1960-01-20   | Mushin      |  2 Kyu |  5.0   |   5.2  |   5.2   |   5.2   |    5.2  |
    |     4    | Norris    |  John       |  1970-05-14   | Chun Kuk Do |  1 Dan |  5.2   |   5.2  |   5.4   |   5.4   |    5.1  |
    |     5    | Norris    |  Chuck      |  1940-03-10   | Chun Kuk Do |  6 Dan |  5.9   |   5.9  |   5.9   |   5.9   |    5.9  |
    |     1    | Oyama     |  Mas        |  1923-07-27   |   Honbu     | 10 Dan |  5.7   |   5.7  |   5.7   |   5.7   |    5.7  |
    |     2    | Arneil    |  Steve      |  1934-08-29   |   London    |  9 Dan |  5.7   |   5.8  |   5.8   |   5.8   |    5.9  |

  And the best 4 participants are nominated for the next round
  When the next round starts
  Then the list contains 4 participants
  And the list of participants for the round is the following:
    | start position | rank | start No | name   | surname |
    |         1      |   4  |     0    | Lee    |  Brian  |
    |         2      |   3  |     1    | Oyama  |  Mas    |
    |         3      |   2  |     2    | Arneil |  Steve  |
    |         4      |   1  |     5    | Norris |  Chuck  |




Persistency (Serialization)

# language: en
Feature: Persistence data
  As a Tournament organizer
  I want to safe my tournament data persistence
  In order to continue with an earlier state

Scenario: Persistent tournament data
  Given the following Tournament is open:
    |name         |    date    | location |
    | SM          | 2013-06-20 |  Wohlen  |
  
  When I save the profile to "temp/default.ktm"
  And I restart the application
  And I open the profile "temp/default.ktm"

  Then the following tournament is opened:
    |name         |    date    | location |
    | SM          | 2013-06-20 |  Wohlen  |


Scenario: Persistent tournament participants
  Given the following Tournament is open:
    |name         |    date    | location |
    | SM          | 2013-06-20 |  Wohlen  |

  And the Tournament has the following participants:
    | name   | surname | date of birth |   dojo      | belt   |
    |  Oyama |  Mas    |  1923-07-27   |   Honbu     | 10 Dan |
    | Arneil |  Steve  |  1934-08-29   |   London    |  9 Dan |
    | Norris |  Chuck  |  1940-03-10   | Chun Kuk Do |  6 Dan |

  When I save the profile to "temp/default.ktm"
  And I restart the application
  And I open the profile "temp/default.ktm"

  Then the Tournament should have the following participants:
    | name   | surname | date of birth |   dojo      | belt   |
    |  Oyama |  Mas    |  1923-07-27   |   Honbu     | 10 Dan |
    | Arneil |  Steve  |  1934-08-29   |   London    |  9 Dan |
    | Norris |  Chuck  |  1940-03-10   | Chun Kuk Do |  6 Dan |

Scenario: Persistent tournament participants scores
  Given the following Tournament is open:
    |name         |    date    | location |
    | WM          | 2013-06-20 |  Wohlen  |

  And the Tournament has the following participants:
    | name   | surname | score 1-1 | score 1-2 | score 1-3 | score 1-4 | score 1-5 | score 2-1 | score 2-2 | score 2-3 | score 2-4 | score 2-5 |
    | Lee    |  Brian  |    5.0    |    5.2    |    5.3    |    5.2    |     5.2   |    5.8    |    5.8    |    5.7    |    5.7    |     5.5   |
    | Oyama  |  Mas    |    5.8    |    5.8    |    5.7    |    5.7    |     5.5   |    5.9    |    5.7    |    5.7    |    5.8    |     5.5   |
    | Arneil |  Steve  |    5.9    |    5.7    |    5.7    |    5.8    |     5.5   |    5.0    |    5.2    |    5.2    |    5.2    |     5.2   |
    | Jet    |  Jimi   |    5.0    |    5.2    |    5.2    |    5.2    |     5.2   |    5.2    |    5.2    |    5.4    |    5.2    |     5.2   |
    | Norris |  John   |    5.2    |    5.2    |    5.4    |    5.2    |     5.2   |    5.6    |    5.6    |    5.6    |    5.6    |     5.6   |
    | Norris |  Chuck  |    5.6    |    5.6    |    5.6    |    5.6    |     5.6   |    5.0    |    5.2    |    5.3    |    5.2    |     5.2   |

  When I save the profile to "temp/default.ktm"
  And I restart the application
  And I open the profile "temp/default.ktm"

 Then the Tournament should have the following participants:
  | name   | surname | score 1-1 | score 1-2 | score 1-3 | score 1-4 | score 1-5 | score 2-1 | score 2-2 | score 2-3 | score 2-4 | score 2-5 |
  | Lee    |  Brian  |    5.0    |    5.2    |    5.3    |    5.2    |     5.2   |    5.8    |    5.8    |    5.7    |    5.7    |     5.5   |
  | Oyama  |  Mas    |    5.8    |    5.8    |    5.7    |    5.7    |     5.5   |    5.9    |    5.7    |    5.7    |    5.8    |     5.5   |
  | Arneil |  Steve  |    5.9    |    5.7    |    5.7    |    5.8    |     5.5   |    5.0    |    5.2    |    5.2    |    5.2    |     5.2   |
  | Jet    |  Jimi   |    5.0    |    5.2    |    5.2    |    5.2    |     5.2   |    5.2    |    5.2    |    5.4    |    5.2    |     5.2   |
  | Norris |  John   |    5.2    |    5.2    |    5.4    |    5.2    |     5.2   |    5.6    |    5.6    |    5.6    |    5.6    |     5.6   |
  | Norris |  Chuck  |    5.6    |    5.6    |    5.6    |    5.6    |     5.6   |    5.0    |    5.2    |    5.3    |    5.2    |     5.2   |

Setup Rankedlist

# language: en

Feature: Kata tournament rankedlist
  As a Tournament executor
  I want to have a rankedlist of the participants after the final round
  In order to determine the winner of the tournament

Scenario: Create the final ranked list.

  Given the following participants have performed katas:
    | name       | surname    | 1-1 | 1-2 | 1-3 | 1-4 | 1-5 | 2-1 | 2-2 | 2-3 | 2-4 | 2-5 | 3-1 | 3-2 | 3-3 | 3-4 | 3-5 |
    | Müller     | Roland     | 7.7 | 7.5 | 7.5 | 7.7 | 7.5 | 7.6 | 7.7 | 7.6 | 7.8 | 7.8 | 7.7 | 7.6 | 7.7 | 7.6 | 7.8 |
    | Paradiso   | Alessandro | 7.4 | 7.0 | 7.3 | 7.2 | 7.1 | 7.2 | 7.3 | 7.2 | 7.2 | 7.3 | 7.1 | 7.1 | 7.1 | 7.0 | 7.3 |
    | Birrer     | Simon      | 7.5 | 7.6 | 7.6 | 7.5 | 7.6 | 7.7 | 7.8 | 7.7 | 7.7 | 7.6 | 7.9 | 7.8 | 7.8 | 7.9 | 7.9 |
    | Cehajic    | Edi        | 7.5 | 7.4 | 7.5 | 7.4 | 7.4 | 7.4 | 7.5 | 7.4 | 7.6 | 7.4 | 7.4 | 7.3 | 7.4 | 7.5 | 7.4 |
    | Felder     | Luca       | 7.2 | 6.9 | 7.0 | 7.1 | 7.1 | 7.3 | 7.4 | 7.2 | 7.2 | 7.1 |     |     |     |     |     |
    | Klein      | Lorenz     | 7.3 | 7.0 | 7.2 | 7.2 | 7.0 | 7.4 | 7.2 | 7.3 | 7.3 | 7.2 | 7.2 | 7.1 | 7.2 | 7.3 | 7.2 |
    | Graziano   | Markus     | 7.3 | 7.4 | 7.2 | 7.4 | 7.4 | 7.3 | 7.3 | 7.4 | 7.3 | 7.4 | 7.4 | 7.4 | 7.3 | 7.3 | 7.4 |
    | Emmenegger | André      | 7.8 | 7.8 | 7.7 | 7.8 | 7.6 | 7.6 | 7.8 | 7.8 | 7.9 | 7.8 | 7.8 | 8.0 | 7.8 | 7.8 | 7.8 |
    | Pfändler   | Ramon      | 7.3 | 7.3 | 7.3 | 7.4 | 7.3 | 7.5 | 7.5 | 7.5 | 7.4 | 7.5 | 7.6 | 7.4 | 7.6 | 7.5 | 7.6 |
    | Grande     | Davide     | 7.3 | 7.0 | 7.1 | 7.2 | 7.2 | 7.1 | 7.3 | 7.1 | 7.4 | 7.3 |     |     |     |     |     |
    | Frey       | Dominique  | 7.1 | 7.0 | 6.9 | 7.0 | 7.2 | 7.0 | 7.1 | 7.0 | 7.3 | 6.9 |     |     |     |     |     |

  Then the rankedlist is the following:
  | rank | name       | surname    |
  |  1   | Birrer     | Simon      |
  |  2   | Emmenegger | André      |
  |  3   | Müller     | Roland     |
  |  4   | Pfändler   | Ramon      |
  |  5   | Cehajic    | Edi        |
  |  6   | Graziano   | Markus     |
  |  7   | Klein      | Lorenz     |
  |  8   | Paradiso   | Alessandro |
  |  9   | Grande     | Davide     |
  |  9   | Felder     | Luca       |
  | 11   | Frey       | Dominique  |

GUI Features

About Dialog

# language: en

Feature: About Dialog
  As a user of the Kata Tournament Runner
  I want to have an About dialog
  In order get infos about the version

Scenario: Open the dialog using the menu
  When I choose the "About" menu entry
  Then the "About" dialog is shown

@needsXWindow
Scenario: Open the dialog using the shortcut
  When I press the "Alt" and the "F1" key together
  Then the "About" dialog is shown

Create New Tournament Dialog

# language: en

Feature: New tournament
  As a Kata tournament operator
  I want to create a new tournament
  In order to start a tournament

Scenario: New tournament
  When I choose the "New Tournament" menu entry
  And I enter the following tournament data in the "New Tournament" dialog:
    | name  |   date     | location | 
    |  SM   | 2014-01-20 |   Kriens |
  And I submit the data

  Then the mainscreen shows the following tournament:
    | name  |   date     | location | 
    |  SM   | 2014-01-20 |   Kriens |

@needsXWindow
Scenario: New tournament using the shortcut
  When I press the "Ctrl" and the "N" key together
  And I enter the following tournament data in the "New Tournament" dialog:
    | name  |   date     | location |
    |  SM   | 2014-01-20 |   Kriens |
  And I submit the data

  Then the mainscreen shows the following tournament:
    | name  |   date     | location |
    |  SM   | 2014-01-20 |   Kriens |

Save and Load menu

# language: en

Feature: Save and Load profiles
  As a Kata tournament operator
  I want to save a profile, i.e. a tournament and load it later
  In order to preserve previous work

Scenario: Save and load to/from a default profile
  Given the following Tournament is open:
    |name   |    date    | location |
    | SM    | 2013-06-20 |   Kriens |
  When I save the profile
  And I restart the application
  Then the mainscreen shows the following tournament:
    | name  |   date     | location | 
    | SM    | 2013-06-20 |   Kriens | 

@needsXWindow
Scenario: Save and load to/from a default profile using the shortcut
  Given the following Tournament is open:
    |name   |    date    | location |
    | SM    | 2013-06-20 |   Kriens |
  When I press the "Ctrl" and the "S" key together
  And I restart the application
  Then the mainscreen shows the following tournament:
    | name  |   date     | location |
    | SM    | 2013-06-20 |   Kriens |

Scenario Outline: Save to a profile file
  Given the following Tournament is open:
    |name   |    date    | location |
    | SM    | 2013-06-20 |   Kriens |
  When I save the profile to "<file>"
  Then the file "<file>" exists

Examples:
  |      file           |
  | ~/tmp/myprofile.ktr |

@needsXWindow
Scenario Outline: Save to a profile file using the shortcut
  Given the following Tournament is open:
    |name   |    date    | location |
    | SM    | 2013-06-20 |   Kriens |
  When I press the "Ctrl" the "Shift" and the "S" key together
  And save the profile to "<file>"
  Then the file "<file>" exists

Examples:
  |      file           |
  | ~/tmp/myprofile.ktr |


# TODO make this test work. It works in real application
@wip
Scenario Outline: Load from a profile file
  Given the following Tournament was saved to profile "<file>":
    |name   |    date    | location |
    | WM    | 2014-06-20 |   London |
  When I restart the application
  And I load the profile "<file>"
  Then the mainscreen shows the following tournament:
    | name  |   date     | location |
    | WM    | 2014-06-20 |   London |

Examples:
  |      file           |
  | ~/tmp/myprofile.ktr |

Add Participant Dialog

# language: en

Feature: Add participant Dialog
  As a Kata tournament operator
  I want to have a dialog to enter participant data
  In order to add participant to a tournament

Scenario: Add a participant
  Given a tournaments is open
  When I press the "Add Participant" button
  And I enter the following participant data in the "Add Participant" dialog:
  | name   | surname | date of birth |   dojo      |  rank    |
  | Lee    |  Brian  |  1975-05-24   | Iron Dragon |  1st Kyu |

  And I submit the data

  Then the participant list contains the following participants:
  | name   | surname | date of birth |   dojo      |   rank   |
  | Lee    |  Brian  |  1975-05-24   | Iron Dragon |  1st Kyu |


Edit Tournament Dialog

# language: en

Feature: Edit tournament data
  As a Kata tournament operator
  I want to edit the tournament data
  In order to change an existing tournament

Scenario: Edit tournament
  Given the following Tournament is open:
    |name   |    date    | location |
    | SM    | 2013-06-20 |   Kriens |
  When I press the "Edit Tournament" button
  And I enter the following tournament data in the "Edit Tournament" dialog:
    | name  |   date     | location | 
    |  WM   | 2014-01-20 |   Berlin |
  And I submit the data
  Then the mainscreen shows the following tournament:
    | name  |   date     | location | 
    |  WM   | 2014-01-20 |   Berlin |

Kate Round Start Page

# language: en

Feature: Kata Round Start Page
  As a Kata tournament executor
  I want to have a startpage for each new kata round
  In order to have an overview of the startlist for the round

Scenario: First round start page

  Given a tournaments is open
  And the Tournament has the following participants:
    | name   | surname | date of birth |   dojo      | rank   |
    |  Oyama |  Mas    |  1923-07-27   |   Honbu     | 10 Dan |
    | Arneil |  Steve  |  1934-08-29   |   London    |  9 Dan |
    | Norris |  Chuck  |  1940-03-10   | Chun Kuk Do |  6 Dan |
  And the mainpage is shown
  When I press the "Start" button
  Then a startpage for the first round is shown
  And the following partipants are shown on the startpage:
    | start position | name                        |
    |     1          | Oyama, Mas (Honbu)          |
    |     2          | Arneil, Steve (London)      |
    |     3          | Norris, Chuck (Chun Kuk Do) |

Scenario: Second round start page

  Given a tournaments is open
  And the following participants have performed a kata:
    | start No | name     | surname | score 1 | score 2| score 3 | score 4 | score 5 |
    |     0    | Lee      |  Brian  |   5.0   |   5.2  |   5.3   |   5.2   |    5.2  |
    |     1    | Oyama    |  Mas    |   5.8   |   5.8  |   5.7   |   5.7   |    5.5  |
    |     2    | Arneil   |  Steve  |   5.9   |   5.7  |   5.7   |   5.8   |    5.5  |
    |     3    | Jet      |  Jimi   |   5.0   |   5.2  |   5.2   |   5.2   |    5.2  |
    |     4    | Norris   |  John   |   5.2   |   5.2  |   5.4   |   5.2   |    5.2  |
    |     5    | Norris   |  Chuck  |   5.6   |   5.6  |   5.6   |   5.6   |    5.6  |
    |     6    | Oyama    | Shigeru |   5.8   |   5.8  |   5.8   |   5.8   |    5.8  |
    |     7    | Nakamura | Tadashi |   5.6   |   5.7  |   5.7   |   5.6   |    5.6  |
    |     8    | Lundgren | Hans    |   5.4   |   5.4  |   5.4   |   5.4   |    5.4  |
    |     9    | DaCosta  | Nick    |   5.5   |   5.4  |   5.5   |   5.4   |    5.5  |
  When the startpage for the second round is shown
  Then the following partipants are shown on the startpage:
    | start position | name              |
    |   1            | Norris, John      |
    |   2            | Lundgren, Hans    |
    |   3            | DaCosta, Nick     |
    |   4            | Norris, Chuck     |
    |   5            | Nakamura, Tadashi |
    |   6            | Oyama, Mas        |
    |   7            | Arneil, Steve     |
    |   8            | Oyama, Shigeru    |

Final Rankedlist Page

# language: en

Feature: Kata tournament rankedlist
  As a Kata tournament executor
  I want to have a rankedlist of the participants after the final round
  In order to determine the winner of the tournament

Scenario: Create the final ranked list.
  Given a tournaments is open
  And the following participants have performed katas:
    | name       | surname    | 1-1 | 1-2 | 1-3 | 1-4 | 1-5 | 2-1 | 2-2 | 2-3 | 2-4 | 2-5 | 3-1 | 3-2 | 3-3 | 3-4 | 3-5 |
    | Müller     | Roland     | 7.7 | 7.5 | 7.5 | 7.7 | 7.5 | 7.6 | 7.7 | 7.6 | 7.8 | 7.8 | 7.7 | 7.6 | 7.7 | 7.6 | 7.8 |
    | Paradiso   | Alessandro | 7.4 | 7.0 | 7.3 | 7.2 | 7.1 | 7.2 | 7.3 | 7.2 | 7.2 | 7.3 | 7.1 | 7.1 | 7.1 | 7.0 | 7.3 |
    | Birrer     | Simon      | 7.5 | 7.6 | 7.6 | 7.5 | 7.6 | 7.7 | 7.8 | 7.7 | 7.7 | 7.6 | 7.9 | 7.8 | 7.8 | 7.9 | 7.9 |
    | Cehajic    | Edi        | 7.5 | 7.4 | 7.5 | 7.4 | 7.4 | 7.4 | 7.5 | 7.4 | 7.6 | 7.4 | 7.4 | 7.3 | 7.4 | 7.5 | 7.4 |
    | Felder     | Luca       | 7.2 | 6.9 | 7.0 | 7.1 | 7.1 | 7.3 | 7.4 | 7.2 | 7.2 | 7.1 |     |     |     |     |     |
    | Klein      | Lorenz     | 7.3 | 7.0 | 7.2 | 7.2 | 7.0 | 7.4 | 7.2 | 7.3 | 7.3 | 7.2 | 7.2 | 7.1 | 7.2 | 7.3 | 7.2 |
    | Graziano   | Markus     | 7.3 | 7.4 | 7.2 | 7.4 | 7.4 | 7.3 | 7.3 | 7.4 | 7.3 | 7.4 | 7.4 | 7.4 | 7.3 | 7.3 | 7.4 |
    | Emmenegger | André      | 7.8 | 7.8 | 7.7 | 7.8 | 7.6 | 7.6 | 7.8 | 7.8 | 7.9 | 7.8 | 7.8 | 8.0 | 7.8 | 7.8 | 7.8 |
    | Pfändler   | Ramon      | 7.3 | 7.3 | 7.3 | 7.4 | 7.3 | 7.5 | 7.5 | 7.5 | 7.4 | 7.5 | 7.6 | 7.4 | 7.6 | 7.5 | 7.6 |
    | Grande     | Davide     | 7.3 | 7.0 | 7.1 | 7.2 | 7.2 | 7.1 | 7.3 | 7.1 | 7.4 | 7.3 |     |     |     |     |     |
    | Frey       | Dominique  | 7.1 | 7.0 | 6.9 | 7.0 | 7.2 | 7.0 | 7.1 | 7.0 | 7.3 | 6.9 |     |     |     |     |     |

  Then the following table is shown on the finalpage:
    | rank | name       | surname    | overall 1 | min 1 | max 1 | overall 2 | min 2 | max 2 | overall 3 | min 3 | max 3 |
    |  1   | Birrer     | Simon      |    22.7   |  7.5  |  7.6  |   23.1    |  7.6  |  7.8  |   23.6    |  7.8  |  7.9  |
    |  2   | Emmenegger | André      |    23.3   |  7.6  |  7.8  |   23.4    |  7.6  |  7.9  |   23.4    |  7.8  |  8.0  |
    |  3   | Müller     | Roland     |    22.7   |  7.5  |  7.7  |   23.1    |  7.6  |  7.8  |   23.0    |  7.6  |  7.8  |
    |  4   | Pfändler   | Ramon      |    21.9   |  7.3  |  7.4  |   22.5    |  7.4  |  7.5  |   22.7    |  7.4  |  7.6  |
    |  5   | Cehajic    | Edi        |    22.3   |  7.4  |  7.5  |   22.3    |  7.4  |  7.6  |   22.2    |  7.3  |  7.5  |
    |  6   | Graziano   | Markus     |    22.1   |  7.2  |  7.4  |   22.0    |  7.3  |  7.4  |   22.1    |  7.3  |  7.4  |
    |  7   | Klein      | Lorenz     |    21.4   |  7.0  |  7.3  |   21.8    |  7.2  |  7.4  |   21.6    |  7.1  |  7.3  |
    |  8   | Paradiso   | Alessandro |    21.6   |  7.0  |  7.4  |   21.7    |  7.2  |  7.3  |   21.3    |  7.0  |  7.3  |
    |  9   | Grande     | Davide     |    21.5   |  7.0  |  7.3  |   21.7    |  7.1  |  7.4  |           |       |       |
    |  9   | Felder     | Luca       |    21.2   |  6.9  |  7.2  |   21.7    |  7.1  |  7.4  |           |       |       |
    | 11   | Frey       | Dominique  |    21.1   |  6.9  |  7.2  |   21.1    |  6.9  |  7.3  |           |       |       |

Feature Results