Advertisement
Guest User

Untitled

a guest
Jun 18th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.55 KB | None | 0 0
  1. package com.kodilla.testing.forum.statistics;
  2. import org.junit.*;
  3. import org.mockito.Mock;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. import static org.mockito.Mockito.mock;
  7. import static org.mockito.Mockito.when;
  8.  
  9. public class ForumStatisticsTestSuiteCustom1 {
  10.  
  11. Statistics statisticsMockPostZero = mock(Statistics.class);
  12. Statistics statisticsMockPost1000 = mock(Statistics.class);
  13. Statistics statisticsMockCommentsZero = mock(Statistics.class);
  14. Statistics statisticsMockCommentsLessThanPosts = mock(Statistics.class);
  15. Statistics statisticsMockCommentsMoreThanPosts = mock(Statistics.class);
  16. Statistics getStatisticsMockUsersZero = mock(Statistics.class);
  17. Statistics getGetStatisticsMockUsers100 = mock(Statistics.class);
  18. Statistics statisticsMock = mock(Statistics.class);
  19. ForumStatistics forumStatistics = new ForumStatistics();
  20.  
  21. private ArrayList<String> createCustomSizeArray(int size){
  22. ArrayList<String> userNamesList = new ArrayList<>();
  23. for(int i=0; i<size; i++){
  24. userNamesList.add("User " + i);
  25. }
  26. return userNamesList;
  27. }
  28.  
  29. private void mockStatistics(Statistics statistics, List<String> userList, int commentsCount, int postCount){
  30. when(statistics.usersNames()).thenReturn(userList);
  31. when(statistics.commentsCount()).thenReturn(commentsCount);
  32. when(statistics.postsCount()).thenReturn(postCount);
  33. }
  34.  
  35. @Before
  36. public void beforeTest() {
  37. mockStatistics(statisticsMockPostZero,createCustomSizeArray(5),15,0);
  38. mockStatistics(statisticsMockPost1000,createCustomSizeArray(5),15,1000);
  39. mockStatistics(statisticsMockCommentsZero,createCustomSizeArray(5),0,1000);
  40. mockStatistics(statisticsMockCommentsLessThanPosts,createCustomSizeArray(5),100,1000);
  41. mockStatistics(statisticsMockCommentsMoreThanPosts,createCustomSizeArray(5),1000,100);
  42. mockStatistics(getStatisticsMockUsersZero,createCustomSizeArray(0),15,100);
  43. mockStatistics(getGetStatisticsMockUsers100,createCustomSizeArray(100),15,1000);
  44. }
  45.  
  46. //gdy liczba postów = 0,
  47. @Test
  48. public void testCalculateAdvStatisticsPostZero() {
  49. //When
  50. forumStatistics.calculateAdvStatistics(statisticsMockPostZero);
  51. int totalPosts = forumStatistics.getTotalPosts();
  52. //Then
  53. Assert.assertEquals(0, totalPosts);
  54. Assert.assertEquals(new Double(0), forumStatistics.getPostPerUser(), 0);
  55. Assert.assertEquals(new Double(0), forumStatistics.getCommentsPerPost(), 0);
  56.  
  57. }
  58.  
  59. //gdy liczba postów = 1000
  60. @Test
  61. public void testCalculateAdvStatisticsPost1000() {
  62. //When
  63. forumStatistics.calculateAdvStatistics(statisticsMockPost1000);
  64. int totalPosts = forumStatistics.getTotalPosts();
  65. //Then
  66. Assert.assertEquals(1000, totalPosts);
  67. Assert.assertEquals(new Double(200), forumStatistics.getPostPerUser(), 0);
  68. Assert.assertEquals(new Double(0.015), forumStatistics.getCommentsPerPost(), 0);
  69. }
  70.  
  71. //gdy liczba komentarzy = 0,
  72. @Test
  73. public void testCalculateAdvStatisticsCommentsZero() {
  74. //When
  75. forumStatistics.calculateAdvStatistics(statisticsMockCommentsZero);
  76. int totalComments = forumStatistics.getTotalComments();
  77. //Then
  78. Assert.assertEquals(0, totalComments);
  79. Assert.assertEquals(new Double(0), forumStatistics.getPostPerUser(), 0);
  80. Assert.assertEquals(new Double(0), forumStatistics.getCommentsPerPost(), 0);
  81. }
  82.  
  83. //gdy liczba komentarzy < liczba postów
  84. @Test
  85. public void testCalculateAdvStatisticsCommentsLessThanPosts() {
  86. //When
  87. forumStatistics.calculateAdvStatistics(statisticsMockCommentsLessThanPosts);
  88. //Then
  89. Assert.assertEquals(100, forumStatistics.getTotalComments());
  90. Assert.assertEquals(1000, forumStatistics.getTotalPosts());
  91. Assert.assertEquals(new Double(20), forumStatistics.getCommentsPerUser(), 0);
  92. Assert.assertEquals(new Double(0.1), forumStatistics.getCommentsPerPost(), 0);
  93. }
  94.  
  95. //gdy liczba komentarzy > liczba postów,
  96. @Test
  97. public void testCalculateAdvStatisticsCommentsMoreThanPosts() {
  98. //When
  99. forumStatistics.calculateAdvStatistics(statisticsMockCommentsMoreThanPosts);
  100. //Then
  101. Assert.assertEquals(1000, forumStatistics.getTotalComments());
  102. Assert.assertEquals(100, forumStatistics.getTotalPosts());
  103. Assert.assertEquals(new Double(200), forumStatistics.getCommentsPerUser(), 0);
  104. Assert.assertEquals(new Double(10), forumStatistics.getCommentsPerPost(), 0);
  105. }
  106.  
  107. //gdy liczba użytkowników = 0,
  108. @Test
  109. public void testCalculateAdvStatisticsUsersZero() {
  110. //When
  111. forumStatistics.calculateAdvStatistics(getStatisticsMockUsersZero);
  112. //Then
  113. Assert.assertEquals(0, forumStatistics.getTotalUsers());
  114. Assert.assertEquals(new Double(0), forumStatistics.getPostPerUser(), 0);
  115. Assert.assertEquals(new Double(0), forumStatistics.getCommentsPerUser(), 0);
  116. }
  117.  
  118. //gdy liczba użytkowników = 100
  119. @Test
  120. public void testCalculateAdvStatisticsUsers100() {
  121. //When
  122. forumStatistics.calculateAdvStatistics(getGetStatisticsMockUsers100);
  123. //Then
  124. Assert.assertEquals(100, forumStatistics.getTotalUsers());
  125. Assert.assertEquals(new Double(10), forumStatistics.getPostPerUser(), 0);
  126. Assert.assertEquals(new Double(0.15), forumStatistics.getCommentsPerUser(), 0);
  127. }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement