• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2007 Mockito contributors
3  * This program is made available under the terms of the MIT License.
4  */
5 
6 package org.mockitousage.examples.use;
7 
8 import java.util.List;
9 
10 public class ArticleManager {
11 
12     private final ArticleCalculator calculator;
13     private final ArticleDatabase database;
14 
ArticleManager(ArticleCalculator calculator, ArticleDatabase database)15     public ArticleManager(ArticleCalculator calculator, ArticleDatabase database) {
16         this.calculator = calculator;
17         this.database = database;
18     }
19 
updateArticleCounters(String newspaper)20     public void updateArticleCounters(String newspaper) {
21         int articles = calculator.countArticles(newspaper);
22         int polishArticles = calculator.countArticlesInPolish(newspaper);
23 
24         database.updateNumberOfArticles(newspaper, articles);
25         database.updateNumberOfPolishArticles(newspaper, polishArticles);
26         database.updateNumberOfEnglishArticles(newspaper, articles - polishArticles);
27     }
28 
updateRelatedArticlesCounters(String newspaper)29     public void updateRelatedArticlesCounters(String newspaper) {
30         List<Article> articles = database.getArticlesFor("Guardian");
31         for (Article article : articles) {
32             int numberOfRelatedArticles = calculator.countNumberOfRelatedArticles(article);
33             article.setNumberOfRelatedArticles(numberOfRelatedArticles);
34             database.save(article);
35         }
36     }
37 }
38