Advertisement
Guest User

Untitled

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