1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
package de.test.antennapod.feed;
import android.test.AndroidTestCase;
import de.danoeh.antennapod.core.feed.FeedFilter;
import de.danoeh.antennapod.core.feed.FeedItem;
public class FeedFilterTest extends AndroidTestCase {
public void testNullFilter() throws Exception {
FeedFilter filter = new FeedFilter();
FeedItem item = new FeedItem();
item.setTitle("Hello world");
assertTrue(!filter.excludeOnly());
assertTrue(!filter.includeOnly());
assertEquals("", filter.getExcludeFilter());
assertEquals("", filter.getIncludeFilter());
assertTrue(filter.shouldAutoDownload(item));
}
public void testBasicIncludeFilter() throws Exception {
String includeFilter = "Hello";
FeedFilter filter = new FeedFilter(includeFilter, "");
FeedItem item = new FeedItem();
item.setTitle("Hello world");
FeedItem item2 = new FeedItem();
item2.setTitle("Don't include me");
assertTrue(!filter.excludeOnly());
assertTrue(filter.includeOnly());
assertEquals("", filter.getExcludeFilter());
assertEquals(includeFilter, filter.getIncludeFilter());
assertTrue(filter.shouldAutoDownload(item));
assertTrue(!filter.shouldAutoDownload(item2));
}
public void testBasicExcludeFilter() throws Exception {
String excludeFilter = "Hello";
FeedFilter filter = new FeedFilter("", excludeFilter);
FeedItem item = new FeedItem();
item.setTitle("Hello world");
FeedItem item2 = new FeedItem();
item2.setTitle("Item2");
assertTrue(filter.excludeOnly());
assertTrue(!filter.includeOnly());
assertEquals(excludeFilter, filter.getExcludeFilter());
assertEquals("", filter.getIncludeFilter());
assertTrue(!filter.shouldAutoDownload(item));
assertTrue(filter.shouldAutoDownload(item2));
}
public void testComplexIncludeFilter() throws Exception {
String includeFilter = "Hello \n\"Two words\"";
FeedFilter filter = new FeedFilter(includeFilter, "");
FeedItem item = new FeedItem();
item.setTitle("hello world");
FeedItem item2 = new FeedItem();
item2.setTitle("Two three words");
FeedItem item3 = new FeedItem();
item3.setTitle("One two words");
assertTrue(!filter.excludeOnly());
assertTrue(filter.includeOnly());
assertEquals("", filter.getExcludeFilter());
assertEquals(includeFilter, filter.getIncludeFilter());
assertTrue(filter.shouldAutoDownload(item));
assertTrue(!filter.shouldAutoDownload(item2));
assertTrue(filter.shouldAutoDownload(item3));
}
public void testComplexExcludeFilter() throws Exception {
String excludeFilter = "Hello \"Two words\"";
FeedFilter filter = new FeedFilter("", excludeFilter);
FeedItem item = new FeedItem();
item.setTitle("hello world");
FeedItem item2 = new FeedItem();
item2.setTitle("One three words");
FeedItem item3 = new FeedItem();
item3.setTitle("One two words");
assertTrue(filter.excludeOnly());
assertTrue(!filter.includeOnly());
assertEquals(excludeFilter, filter.getExcludeFilter());
assertEquals("", filter.getIncludeFilter());
assertTrue(!filter.shouldAutoDownload(item));
assertTrue(filter.shouldAutoDownload(item2));
assertTrue(!filter.shouldAutoDownload(item3));
}
public void testComboFilter() throws Exception {
String includeFilter = "Hello world";
String excludeFilter = "dislike";
FeedFilter filter = new FeedFilter(includeFilter, excludeFilter);
FeedItem download = new FeedItem();
download.setTitle("Hello everyone!");
// because, while it has words from the include filter it also has exclude words
FeedItem doNotDownload = new FeedItem();
doNotDownload.setTitle("I dislike the world");
// because it has no words from the include filter
FeedItem doNotDownload2 = new FeedItem();
doNotDownload2.setTitle("no words to include");
assertTrue(filter.hasExcludeFilter());
assertTrue(filter.hasIncludeFilter());
assertTrue(filter.shouldAutoDownload(download));
assertTrue(!filter.shouldAutoDownload(doNotDownload));
assertTrue(!filter.shouldAutoDownload(doNotDownload2));
}
}
|