Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.kodilla.testing.forum.statistics;
- import org.junit.*;
- import org.mockito.Mock;
- import java.util.ArrayList;
- import java.util.List;
- import static org.mockito.Mockito.mock;
- import static org.mockito.Mockito.when;
- public class ForumStatisticsTestSuiteCustom1 {
- Statistics statisticsMockPostZero = mock(Statistics.class);
- Statistics statisticsMockPost1000 = mock(Statistics.class);
- Statistics statisticsMockCommentsZero = mock(Statistics.class);
- Statistics statisticsMockCommentsLessThanPosts = mock(Statistics.class);
- Statistics statisticsMockCommentsMoreThanPosts = mock(Statistics.class);
- Statistics getStatisticsMockUsersZero = mock(Statistics.class);
- Statistics getGetStatisticsMockUsers100 = mock(Statistics.class);
- ForumStatistics forumStatistics = new ForumStatistics();
- private ArrayList<String> createCustomSizeArray(int size){
- ArrayList<String> userNamesList = new ArrayList<>();
- for(int i=0; i<size; i++){
- userNamesList.add("User " + i);
- }
- return userNamesList;
- }
- private void mockStatistics(Statistics statistics, List<String> userList, int commentsCount, int postCount){
- when(statistics.usersNames()).thenReturn(userList);
- when(statistics.commentsCount()).thenReturn(commentsCount);
- when(statistics.postsCount()).thenReturn(postCount);
- }
- @Before
- public void beforeTest() {
- mockStatistics(statisticsMockPostZero,createCustomSizeArray(5),15,0);
- mockStatistics(statisticsMockPost1000,createCustomSizeArray(5),15,1000);
- mockStatistics(statisticsMockCommentsZero,createCustomSizeArray(5),0,1000);
- mockStatistics(statisticsMockCommentsLessThanPosts,createCustomSizeArray(5),100,1000);
- mockStatistics(statisticsMockCommentsMoreThanPosts,createCustomSizeArray(5),1000,100);
- mockStatistics(getStatisticsMockUsersZero,createCustomSizeArray(0),15,100);
- mockStatistics(getGetStatisticsMockUsers100,createCustomSizeArray(100),15,1000);
- }
- @Test //gdy liczba postów = 0,
- public void testCalculateAdvStatisticsPostZero() {
- //When
- forumStatistics.calculateAdvStatistics(statisticsMockPostZero);
- //Then
- Assert.assertEquals(0, forumStatistics.getTotalPosts());
- Assert.assertEquals(new Double(0), forumStatistics.getPostPerUser(), 0);
- Assert.assertEquals(new Double(0), forumStatistics.getCommentsPerPost(), 0);
- }
- @Test //gdy liczba postów = 1000
- public void testCalculateAdvStatisticsPost1000() {
- //When
- forumStatistics.calculateAdvStatistics(statisticsMockPost1000);
- //Then
- Assert.assertEquals(1000, forumStatistics.getTotalPosts());
- Assert.assertEquals(new Double(200), forumStatistics.getPostPerUser(), 0);
- Assert.assertEquals(new Double(0.015), forumStatistics.getCommentsPerPost(), 0);
- }
- @Test //gdy liczba komentarzy = 0,
- public void testCalculateAdvStatisticsCommentsZero() {
- //When
- forumStatistics.calculateAdvStatistics(statisticsMockCommentsZero);
- //Then
- Assert.assertEquals(0, forumStatistics.getTotalComments());
- Assert.assertEquals(new Double(0), forumStatistics.getPostPerUser(), 0);
- Assert.assertEquals(new Double(0), forumStatistics.getCommentsPerPost(), 0);
- }
- @Test //gdy liczba komentarzy < liczba postów
- public void testCalculateAdvStatisticsCommentsLessThanPosts() {
- //When
- forumStatistics.calculateAdvStatistics(statisticsMockCommentsLessThanPosts);
- //Then
- Assert.assertEquals(100, forumStatistics.getTotalComments());
- Assert.assertEquals(1000, forumStatistics.getTotalPosts());
- Assert.assertEquals(new Double(20), forumStatistics.getCommentsPerUser(), 0);
- Assert.assertEquals(new Double(0.1), forumStatistics.getCommentsPerPost(), 0);
- }
- @Test //gdy liczba komentarzy > liczba postów,
- public void testCalculateAdvStatisticsCommentsMoreThanPosts() {
- //When
- forumStatistics.calculateAdvStatistics(statisticsMockCommentsMoreThanPosts);
- //Then
- Assert.assertEquals(1000, forumStatistics.getTotalComments());
- Assert.assertEquals(100, forumStatistics.getTotalPosts());
- Assert.assertEquals(new Double(200), forumStatistics.getCommentsPerUser(), 0);
- Assert.assertEquals(new Double(10), forumStatistics.getCommentsPerPost(), 0);
- }
- @Test //gdy liczba użytkowników = 0
- public void testCalculateAdvStatisticsUsersZero() {
- //When
- forumStatistics.calculateAdvStatistics(getStatisticsMockUsersZero);
- //Then
- Assert.assertEquals(0, forumStatistics.getTotalUsers());
- Assert.assertEquals(new Double(0), forumStatistics.getPostPerUser(), 0);
- Assert.assertEquals(new Double(0), forumStatistics.getCommentsPerUser(), 0);
- }
- @Test //gdy liczba użytkowników = 100
- public void testCalculateAdvStatisticsUsers100() {
- //When
- forumStatistics.calculateAdvStatistics(getGetStatisticsMockUsers100);
- //Then
- Assert.assertEquals(100, forumStatistics.getTotalUsers());
- Assert.assertEquals(new Double(10), forumStatistics.getPostPerUser(), 0);
- Assert.assertEquals(new Double(0.15), forumStatistics.getCommentsPerUser(), 0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement