Skip to content

Instantly share code, notes, and snippets.

@icambridge icambridge/Quest.feature
Last active Jun 28, 2017

Embed
What would you like to do?
Feature: Create Character
In order to play the game
As a player
I need to be able to create a character
Background:
Given a character must have a single word name
And a character's attributes must overall equals 100
And a character can be one of the following races:
| Dwarf | Wizard | Elf | Human |
Scenario: Create a character successfully
When I create a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
Then I will have a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
Scenario: Creating a character with too much attributes
When I create a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 50 |
Then I will be told that the attributes don't add up to 100.
Scenario: Creating a character with wrong race
When I create a character with the following attributes:
| Name | Iain |
| Race | Troll |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
Then I will be told that "troll" is not a valid race
Scenario: Creating a character with invalid name
When I create a character with the following attributes:
| Name | Iain Of Berlin |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
Then I will be told that "Iain Of Berlin" is not a valid name
Feature: Explore magical world.
In order to find new quests
As a character
I need to be able to explore the world.
Background:
Given the following cities exist:
| Name | Latitude | Longitude | Population | Race |
| Narzima | 10 | 30 | 300 | Elf |
| Zolomoda | 20 | 20 | 100 | Dwarf |
| Jumica | 30 | 50 | 250 | Wizard |
| Fulta | 40 | 10 | 3000 | Human |
Scenario: New character starts off in their home city
Given I have a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
When I look at my location
Then it will say "Zolomoda"
Scenario: Change cities
Given I have a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
And I am at "Zolomoda"
When I go to "Fulta"
Then I will then be at "Fulta"
e
Feature: Fight
In order to gain XP
As a character
I need to be able to fight oponents
Background:
Given the following cities exist:
| Name | Latitude | Longitude | Population | Race |
| Narzima | 10 | 30 | 300 | Elf |
| Zolomoda | 20 | 20 | 100 | Dwarf |
| Jumica | 30 | 50 | 250 | Wizard |
| Fulta | 40 | 10 | 3000 | Human |
Scenario: Fight other race when moving to another race's city.
Given I have a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
And that character is in "Zolomoda"
When I change to "Jumica"
Then I will get into a fight with a "Wizard"
Scenario: Fight other race when moving to own race's city.
Given I have a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
And that character is in "Jumica"
When I change to "Zolomoda"
Then I will not get into a fight
Scenario: Gain XP from fighting
Given I have a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
And that character is in "Zolomoda"
And that character changed it's location to "Jumica"
When that character fights and wins
Then the attributes for the character will be:
| Name | Iain |
| Race | Dwarf |
| Strength | 41 |
| Speed | 21 |
| Luck | 21 |
| Intelligence | 21 |
Feature: Fullfilling a glorious quest
In order to fell fullfilled
As a player
I need a quest to complete
Background:
Given the following cities exist:
| Name | Latitude | Longitude | Population | Race |
| Narzima | 10 | 30 | 300 | Elf |
| Zolomoda | 20 | 20 | 100 | Dwarf |
| Jumica | 30 | 50 | 250 | Wizard |
| Fulta | 40 | 10 | 3000 | Human |
And the following characters exist:
| Name | Race | City |
| Sally | Wizard | Fulta |
| Johnny | Human | Fulta |
| Jo | Dwarf | Fulta |
| Susie | Human | Fulta |
| Simon | Elf | Zolomoda |
| Hans | Human | Zolomoda |
| Ina | Dwarf | Zolomoda |
| Lena | Dwarf | Zolomoda |
| Tracy | Elf | Narzima |
| Harry | Human | Narzima |
| Bob | Elf | Narzima |
| Sarah | Dwarf | Narzima |
| James | Human | Jumica |
| Alison | Wizard | Jumica |
| Barry | Dwarf | Jumica |
| Jenny | Wizard | Jumica |
And the following quests exist.
| Name | Starting Point | Overall XP Needed to Start | Plot | End story |
| Find the bug | Sally | 100 | There is a bug in Sally's basement | Sally can once again use her basement in safe knowledge there are no killer bugs in her basement |
| Smash the ring | Simon | 110 | There is a information trading ring that Simon needs to stop | With the proof of the information trading ring, Hans stops the trading ring. |
| Narzima Revenge | Bob | 120 | The Wizards stole the rightout right of power from the Elfs and they need the knife of the Elfen fathers to get it back. | Sally uses the knife of the Elfen fathers to perform a ritual to bring the ring back to her. |
| Return the power | Alsion | 130 | Jenny stole power from Alison by killing her father | Alison shows the city proof of Jenny's crimes and is returned to power. |
And the following quest stages exist:
| Quest | From | To | Reason | End stage |
| Find the bug | Sally | Lena | To collect the potion to kill the bug in the basement | No |
| Find the bug | Lena | Jo | To get a herb for the potion | No |
| Find the bug | Jo | Lena | To make the potion | No |
| Find the bug | Lena | Sally | To kill the bug in the basement | Yes |
| Smash the ring | Simon | Jenny | To collect evidence about the trading ring | No |
| Smash the ring | Jenny | Bob | To collect a bag from Bob so Jenny will give the evidence | No |
| Smash the ring | Bob | Jenny | To give Jenny the evidence for | No |
| Smash the ring | Jenny | Hans | To show Hans the evidence of the trading ring | Yes |
| Return the power | Alison | Harry | To collect proof that Alison is the rightful ruler | No |
| Return the power | Harry | Hans | To to fetch proof that Jenny was born in Fulta | No |
| Return the power | Hans | Sally | To to fetch proof that Jenny killed Alisons' Father | No |
| Return the power | Sally | Alison | To give Alison all the proof | Yes |
| Narzima Revenge | Bob | Ina | To collect the kinfe of the Elfen fathers | No |
| Narzima Revenge | Ina | James | To collect a dagger of the dwarfs so Ina will give you the knife of the Elfen fathers | No |
| Narzima Revenge | James | Tracy | To swap the dagger of the dwards for the knife of the Elfen fathers | No |
| Narzima Revenge | Tracy | Sally | To give Sally the knife of Elfen fathers | Yes |
Scenario: Start a quest
Given I have a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
When I try to start the quest "Find the bug"
Then I will be told to go see "Lena"
Scenario: Start a quest without enough XP
Given I have a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
When I try to start the quest "Return the power"
Then I will be told I need 130 XP and I only have 100 XP
Scenario: Make the first step
Given I have a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
And I have started the quest "Find the bug"
When I see "Lena"
Then I will be told to go see "Jo"
Scenario: Try to jump a step
Given I have a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
And I have started the quest "Find the bug"
And I have seen "Lena"
When I see "Sally"
Then I will be reminded of the quest
Scenario: Try to jump a step seeing the same person twice
Given I have a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
And I have started the quest "Find the bug"
And I have seen "Lena"
When I see "Lena"
Then I will be reminded of the quest
Scenario: Complete a quest
Given I have a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
And I have started the quest "Find the bug"
And I have seen "Lena"
And I have seen "Jo"
And I have seen "Lena"
When I see "Sally"
Then I will be told the quest has been completed
Feature: Saving the game
In order to play over numerous days
As a player
I need to be able to save and restore games
Scenario: Save game
Given I have a character with the following attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
And I have started the quest "Find the bug"
And I have seen "Lena"
And I have seen "Jo"
And I have seen "Lena"
When I save the game
Then I should have a restore point with character attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
And I should have a restore point with quest data:
| Quest | Characte |
| Find the bug | Sally |
| Find the bug | Lena |
| Find the bug | Jo |
| Find the bug | Lena |
Scenario: Restore game
Given I have a restore point with character attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
And I have a restore point with quest data:
| Quest | Character |
| Find the bug | Sally |
| Find the bug | Lena |
| Find the bug | Jo |
| Find the bug | Lena |
When I restore the game
Then I will have character attributes:
| Name | Iain |
| Race | Dwarf |
| Strength | 40 |
| Speed | 20 |
| Luck | 20 |
| Intelligence | 20 |
And I will have quest data:
| Quest | Character |
| Find the bug | Sally |
| Find the bug | Lena |
| Find the bug | Jo |
| Find the bug | Lena |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.