Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

   @Test
   public  void find_heighest_score_with_array_of_many_return_array_of_many_using_mocks()
   {
      //[{“Physics”, { 56, 67, 45, 89} }, {“Art”, { 87, 66, 78} }, {“Comp Sci”, { 45, 88, 97, 56} }]
      // Arrange
      int[] physics_scores = { 56, 67, 45, 89 };
      String physics = "Physics";
      int[] art_scores = { 87, 66, 78 };
      String art = "Art";
      int[] compSci_scores = { 45, 88, 97, 56 };
      String compSci = "Comp Sci";
      ArrayList<TopicScores> topicScores = new ArrayList<>();
      topicScores.add(new TopicScores(physics, physics_scores));
      topicScores.add(new TopicScores(art, art_scores));
      topicScores.add(new TopicScores(compSci, compSci_scores));
      
      // Use a mock version of HighestNumberFinder
      IHighestNumberFinder hnf = mock( com.s2s.demos.findhighestnumber.fin.HighestNumberFinder.class );
      // Setup the expectations
      when(hnf.findHighestNumber(physics_scores)).thenReturn(89);
      when(hnf.findHighestNumber(art_scores)).thenReturn(87);
      when(hnf.findHighestNumber(compSci_scores)).thenReturn(97);
      
      TopicManager cut = new TopicManager(hnf);
      ArrayList<TopicTopScore> expectedResult = new ArrayList<>();
      expectedResult.add( new TopicTopScore(physics, 89)); 
      expectedResult.add( new TopicTopScore(art, 87)); 
      expectedResult.add( new TopicTopScore(compSci, 97)); 

      // Act
      ArrayList<TopicTopScore> result = cut.findTopicHighScores(topicScores);

      // Assert
      assertThat(expectedResult, is(result));
   }

For line 34 to work, we have added the equals operator to TopicTopScore

package com.s2s.demos.topicmanager;

public class TopicTopScore
{
   private  String topicName;
   private  int topScore;

   public TopicTopScore(String topicName, int score)
   {
      this.topScore = score;
      this.topicName = topicName;
   }
   
   public String getTopicName()
   {
      return topicName;
   }

   public int getTopScore()
   {
      return topScore;
   }
   
   @Override
   public boolean equals(Object anObject)
   {
      TopicTopScore rh = (TopicTopScore)anObject;
      
      return (topicName.equalsIgnoreCase(rh.topicName) && (topScore==rh.topScore));
   }
}
  • No labels