1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.rat.header;
20
21 import org.junit.jupiter.api.BeforeEach;
22 import org.junit.jupiter.api.Test;
23
24 import java.io.StringReader;
25
26 import static org.junit.jupiter.api.Assertions.assertEquals;
27 import static org.junit.jupiter.api.Assertions.assertNotNull;
28
29 public class FilteringSequenceFactoryTest {
30
31 private int capacity;
32 private FilteringSequenceFactory factory;
33 private SimpleCharFilter filter;
34
35 @BeforeEach
36 public void setUp() throws Exception {
37 capacity = 50;
38 filter = new SimpleCharFilter();
39 factory = new FilteringSequenceFactory(capacity, filter);
40 }
41
42 @Test
43 public void noFiltering() throws Exception {
44 final String INPUT = "Whatever";
45 StringReader reader = new StringReader(INPUT);
46 CharSequence result = factory.filter(reader);
47 assertNotNull(result);
48 String output = result.toString();
49 assertEquals(INPUT, output, "No filtering so input equals output.");
50 reader = new StringReader(INPUT);
51 result = factory.filter(reader);
52 assertNotNull(result);
53 output = result.toString();
54 assertEquals(INPUT, output, "No filtering so input equals output. Independent of previous input");
55 }
56
57 @Test
58 public void filtering() throws Exception {
59 final String INPUT = "Whatever";
60 StringReader reader = new StringReader(INPUT);
61 CharSequence result = factory.filter(reader);
62 assertNotNull(result);
63 String output = result.toString();
64 assertEquals(INPUT, output, "No filtering so input equals output.");
65 filter.filterOut = true;
66 reader = new StringReader(INPUT);
67 result = factory.filter(reader);
68 assertNotNull(result);
69 assertEquals( 0, result.length(), "All filtered output is empty. Independent of previous input");
70 }
71
72 @Test
73 public void overCapacity() throws Exception {
74 final String INPUT = "WhateverWhateverWhateverWhateverWhateverWhateverWhateverWhateverWhateverWhatever";
75 StringReader reader = new StringReader(INPUT);
76 CharSequence result = factory.filter(reader);
77 assertNotNull(result);
78 String output = result.toString();
79 assertEquals(INPUT.substring(0, capacity), output, "No filtering so input equals output.");
80 }
81 }