- Fork this github repository (2 points)
- Run the project
- Comment the 3 classes: City, Population & Tour (3 points)
- Commit your changes and check-it into github
- On github, make a pull request (1 point)
- Complete the next section: "Analyze IADT functions" into this file (2 points)
- Commit your changes (commit README.md)
- On github, update your pull request (1 point)
- Make tests defined into section: "Functions to test now" (call your test functions using the rule: GIVEN_WHEN_THEN) (10 points)
- Check the test coverage with the Jacoco coverage report provided into: /target/site/jacoco/index.html
- Commit your changes
- On github, update your pull request (1 point)
- that ends
Hereafter, for each classes give function to be tested. Remember that all functions does not have to be tested, some code can be checked by a simple inspection or an analyse, another code can be validated by definition (rules, etc) the others function can be tecsted by unit tests, integration tests or validation tests (IADT: Inspect, Analyse, Define, Test).
Function | I A D T | Comment |
---|---|---|
distanceToCity | ||
getX | ||
getY | ||
toString |
Function | I A D T | Comment |
---|---|---|
containsCity | ||
getCity | ||
getDistance | ||
getFitness | ||
setCity | ||
tourSize | ||
toString |
Function | I A D T | Comment |
---|---|---|
getFittest | ||
getTour | ||
populationSize | ||
saveTour |
public double distanceTo(City city)
public int getDistance()
public static Population evolvePopulation(Population pop)
- Start with simple classes (models, libraries, etc) at the end make test into complex classes (classes with multiple relations)
- Never test auto generate code
- Never test creator (its a design problem)
- Use @Test before each testFunction !
- You can test a function than throws an exception with the argument: expected
@Test(expected=Exception.class)