Skip to content

dudiventura/TDD-Kata-FindAPerson

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TDD Kata - FindAPerson

Intro

In this homework we are exercising Test Driven Development. In this method code is mostly written through the following cycle: Test (Red) -> Code (Green) -> Refactor. We will also use git to document the process.

You can either follow the given problem or ask the course team for another problem, e.g., from the Kata page in the lecture slides.

The Problem

Let's take a look at Ushahidi, which is a platform, services and tools for geographical crowd sourcing, e.g., for coordinating rescue eefforts following a natural crisis (Nepal). The Crowdmap - Basic Features, are:

  • Create a post
  • Create a Map
  • Find Posts
  • Find a Map
  • Collaborate
  • Find a Person: This feature will be added at a later date. Stay Tuned
  • See all the latest Posts
  • See all the latest photos
  • Map view
  • View a post by Location

Since there is a missing feature we are going to implement it!

Feature: Find a Person!

  • Given a person name, return all posts (of a map) containing it’s name (in any of a post fields)
  • Given a name, check if the map includes a location information (place or geo. location)
  • Check if there are map inconsistencies, e.g., the same name with different locations. Example: Or (R.I.P) appears at [27°59′N 86°55′E] but also at [31°47′N 35°13′E]

Work Instructions

  1. To start, fork the exercise repository (or pull for later updates: git pull upstream master).
  2. Clone the repository to your computer.
  3. Modify/add files (in the repository directory) and commit changes to complete your solution.
    • Each TDD phase needs to be committed separately with a suitable message, e.g. “RED: Test for finding a name”.
    • If you do pair programming, you should switch roles between RED and GREEN (see here, there is also a fun Eclipse game to guide it).
    • You can suggest other features by editing the requirements above.
  4. Push/sync the changes up to GitHub.
  5. Create a pull request to the original repository to turn in the assignment, don't forget to mention your pair.

A pull-request screencast demo (done for another course)

Dates

Submit a pull request by next Tirgul (this time you don’t need to use the regular submitting form, but you can if you must 😄). We will give feedback through the pull-request system. Good luck!

About

Empty repository for HW4

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%