anchor.diff:  
   Note how our CI server <<UsingTravis#, Travis uses Coveralls to report code coverage>>. (https://coveralls.io/github/se-edu/addressbook-level4?branch=master[image:https://coveralls.io/repos/github/se-edu/addressbook-level4/badge.svg?branch=master[Coverage Status]]) After setting up Coveralls for your project, you can visit Coveralls website to find details about the coverage of code pushed to your repo. https://coveralls.io/github/se-edu/addressbook-level4?branch=master[Here] is an example.
   
  -=== Exercise: Use EclEmma to measure coverage locally
  -
  -* Install the http://www.eclemma.org/[EclEmma Eclipse Plugin] in your computer and use that to find code that is not covered by the tests. This plugin can help you to find coverage details even before you push code to the remote repo.
  +*Resources*
  +
  +* https://se-edu.github.io/se-book/testing/testCoverage/[se-edu/se-book: QA: Testing: Test Coverage]
  +
  +=== Exercise: Use the IDE to measure coverage locally
  +
  +* Use the IDE to measure code coverage of your tests.
   
   '''
   
  
positive.code: 
  *Resources*
  
  * Tutorials
  ** https://gradle.org/getting-started-gradle-java/[Getting started with Gradle (Java)] - a tutorial from the Gradle team
  ** http://www.tutorialspoint.com/gradle/[Another tutorial] - from TutorialPoint
  
  === Exercise: Use gradle to run tasks
  
  * Use gradle to do these tasks (instructions are <<UsingGradle#, here>>) : Run all tests in headless mode, build the jar file.
  
  === Exercise: Use gradle to manage dependencies
  
  
negative.code: Here are some example design patterns used in the code base.
  
  * *Singleton Pattern* : link:{repoURL}/src/main/java/seedu/address/commons/core/EventsCenter.java[`EventsCenter.java`] is Singleton class. Its single instance can be accessed using the `EventsCenter.getInstance()` method.
  * *Facade Pattern* : link:{repoURL}/src/main/java/seedu/address/storage/StorageManager.java[`StorageManager.java`] is not only shielding the internals of the Storage component from outsiders, it is mostly redirecting method calls to its internal components (i.e. minimal logic in the class itself). Therefore, `StorageManager` can be considered a Facade class.
  * *Command Pattern* : The link:{repoURL}/src/main/java/seedu/address/logic/commands/Command.java[`Command.java`] and its sub classes implement the Command Pattern.
  * *Observer Pattern* : The <<DeveloperGuide#events-driven-nature-of-the-design, event driven mechanism>> used by this code base employs the Observer pattern. For example, objects that are interested in events need to have the `@Subscribe` annotation in the class (this is similar to implementing an `\<<Observer>>` interface) and register with the `EventsCenter`. When something noteworthy happens, an event is raised and the `EventsCenter` notifies all relevant subscribers. Unlike in the Observer pattern in which the `\<<Observable>>` class is notifying all `\<<Observer>>` objects, here the `\<<Observable>>` classes simply raises an event and the `EventsCenter` takes care of the notifications.
  * *MVC Pattern* :
  ** The 'View' part of the application is mostly in the `.fxml` files in the `src/main/resources/view` folder.
  ** `Model` component contains the 'Model'. However, note that it is possible to view the `Logic` as the model because it hides the `Model` behind it and the view has to go through the `Logic` to access the `Model`.
  ** Sub classes of link:{repoURL}/src/main/java/seedu/address/ui/UiPart.java[`UiPart`] (e.g. `PersonListPanel` ) act as 'Controllers', each controlling some part of the UI and communicating with the 'Model' (via the `Logic` component which sits between the 'Controller' and the 'Model').
  * *Abstraction Occurrence Pattern* : Not currently used in the app.
  
  *Resources*
  
  * https://se-edu.github.io/se-book/designPatterns/[se-edu/se-book: Design: Design Patterns]
  
  === Exercise: Discover other possible applications of the patterns
  
  