diff options
author | Camil Staps | 2015-05-21 16:36:46 +0200 |
---|---|---|
committer | Camil Staps | 2015-05-21 16:36:46 +0200 |
commit | ed8add80f404be4bfb998d050573258edd4a6896 (patch) | |
tree | 273a6b3f798c6b4749d28f38b36567981cc2b209 /app/src/androidTest/java/org | |
parent | Add feeds (diff) | |
parent | Merge branch 'master' of https://github.com/camilstaps/RSSin (diff) |
Merge branch 'master' of github:camilstaps/RSSin into app
Diffstat (limited to 'app/src/androidTest/java/org')
3 files changed, 107 insertions, 22 deletions
diff --git a/app/src/androidTest/java/org/rssin/neurons/FeedSorterTest.java b/app/src/androidTest/java/org/rssin/neurons/FeedSorterTest.java index a2d59ee..a6e3581 100755 --- a/app/src/androidTest/java/org/rssin/neurons/FeedSorterTest.java +++ b/app/src/androidTest/java/org/rssin/neurons/FeedSorterTest.java @@ -20,7 +20,7 @@ public class FeedSorterTest extends TestCase { Assert.assertTrue(true);
}
- public void testSortItems() throws Exception {
+ public void testSortItemsByCategory() throws Exception {
List<String> gameList = new ArrayList<>();
gameList.add("Games");
List<String> sportList = new ArrayList<>();
@@ -39,28 +39,90 @@ public class FeedSorterTest extends TestCase { FeedSorter s = new FeedSorter();
//I like games & I hate sports
- for(int i = 0; i < 100; i++)
- {
- for(FeedItem item : likedItems)
- {
- s.feedback(item, Feedback.Like);
- }
-
- for(FeedItem item : dislikedItems)
- {
- s.feedback(item, Feedback.Dislike);
- }
- }
+ trainNetwork(likedItems, dislikedItems, s);
FeedItem sportsItem = new FeedItem("", new Date(2014, 1, 1, 1, 2, 1), "SPORT ARTICLE", "DESCRIPTION", "", "Randy", sportList, "", "", "");
FeedItem gamesItem = new FeedItem("", new Date(2014, 1, 1, 1, 1, 1), "GAME ARTICLE", "DESCRIPTION", "", "Randy", gameList, "", "", "");
+ testSortingOrder(s, sportsItem, gamesItem);
+ }
+
+ public void testSortItemsByTitle() throws Exception {
+ List<String> emptyList = new ArrayList<>();
+
+ FeedItem[] likedItems = new FeedItem[]
+ {
+ new FeedItem("", new Date(), "Video games are cool", "DESCRIPTION", "", "Randy", emptyList, "", "", ""),
+ new FeedItem("", new Date(), "The new video game", "DESCRIPTION", "", "Camil", emptyList, "", "", ""),
+ new FeedItem("", new Date(), "Best games of 2015", "DESCRIPTION", "", "Jos", emptyList, "", "", ""),
+ };
+
+ FeedItem[] dislikedItems = new FeedItem[]
+ {
+ new FeedItem("", new Date(), "Video of a cat", "DESCRIPTION", "", "Randy", emptyList, "", "", ""),
+ new FeedItem("", new Date(), "It's raining", "DESCRIPTION", "", "Joep", emptyList, "", "", ""),
+ new FeedItem("", new Date(), "Shocking video of a cat in the rain.", "DESCRIPTION", "", "Joep", emptyList, "", "", ""),
+ };
+
+ FeedSorter s = new FeedSorter();
+
+ //I like games & I hate sports
+ trainNetwork(likedItems, dislikedItems, s);
+
+ FeedItem dislikedItem = new FeedItem("", new Date(2014, 1, 1, 1, 2, 1), "Another cool video of a cat in the sun.", "DESCRIPTION", "", "Randy", emptyList, "", "", "");
+ FeedItem likedItem = new FeedItem("", new Date(2014, 1, 1, 1, 1, 1), "Coolest retro games", "DESCRIPTION", "", "Jos", emptyList, "", "", "");
+
+ testSortingOrder(s, dislikedItem, likedItem);
+ }
+
+ public void testSortItemsByAuthor() throws Exception {
+ List<String> emptyList = new ArrayList<>();
+
+ FeedItem[] likedItems = new FeedItem[]
+ {
+ new FeedItem("", new Date(), "Best games of 2015", "DESCRIPTION", "", "Jos", emptyList, "", "", ""),
+ new FeedItem("", new Date(), "It's raining cats and dogs!", "DESCRIPTION", "", "Jos", emptyList, "", "", ""),
+ };
+
+ FeedItem[] dislikedItems = new FeedItem[]
+ {
+ new FeedItem("", new Date(), "Video of a cat", "DESCRIPTION", "", "Randy", emptyList, "", "", ""),
+ new FeedItem("", new Date(), "It's raining", "DESCRIPTION", "", "Joep", emptyList, "", "", ""),
+ new FeedItem("", new Date(), "Shocking video of a cat in the rain.", "DESCRIPTION", "", "Joep", emptyList, "", "", ""),
+ new FeedItem("", new Date(), "Video games are cool", "DESCRIPTION", "", "Randy", emptyList, "", "", ""),
+ new FeedItem("", new Date(), "The new video game", "DESCRIPTION", "", "Camil", emptyList, "", "", ""),
+ };
+
+ FeedSorter s = new FeedSorter();
+
+ //I like games & I hate sports
+ trainNetwork(likedItems, dislikedItems, s);
+
+ FeedItem dislikedItem = new FeedItem("", new Date(2014, 1, 1, 1, 2, 1), "Another cool video of a cat in the sun.", "DESCRIPTION", "", "Randy", emptyList, "", "", "");
+ FeedItem likedItem = new FeedItem("", new Date(2014, 1, 1, 1, 1, 1), "Coolest retro games", "DESCRIPTION", "", "Jos", emptyList, "", "", "");
+
+ testSortingOrder(s, dislikedItem, likedItem);
+ }
+
+ private void testSortingOrder(FeedSorter s, FeedItem dislikedItem, FeedItem likedItem) {
List<FeedItem> testItems = new LinkedList<>();
- testItems.add(sportsItem);
- testItems.add(gamesItem);
+ testItems.add(dislikedItem);
+ testItems.add(likedItem);
List<FeedItem> sortedItems = s.sortItems(testItems);
- Assert.assertEquals(sortedItems.get(0), gamesItem);
- Assert.assertEquals(sortedItems.get(1), sportsItem);
+ Assert.assertEquals(sortedItems.get(0), likedItem);
+ Assert.assertEquals(sortedItems.get(1), dislikedItem);
+ }
+
+ private void trainNetwork(FeedItem[] likedItems, FeedItem[] dislikedItems, FeedSorter s) {
+ for(int i = 0; i < 200; i++) {
+ for (FeedItem item : likedItems) {
+ s.feedback(item, Feedback.Like);
+ }
+
+ for (FeedItem item : dislikedItems) {
+ s.feedback(item, Feedback.Dislike);
+ }
+ }
}
}
\ No newline at end of file diff --git a/app/src/androidTest/java/org/rssin/neurons/NeuralNetworkTest.java b/app/src/androidTest/java/org/rssin/neurons/NeuralNetworkTest.java index b0f6eea..57776f3 100755 --- a/app/src/androidTest/java/org/rssin/neurons/NeuralNetworkTest.java +++ b/app/src/androidTest/java/org/rssin/neurons/NeuralNetworkTest.java @@ -7,12 +7,12 @@ public class NeuralNetworkTest extends TestCase { public void testAnd() throws Exception {
MultiNeuralNetwork nn = new MultiNeuralNetwork(10, 2);
- nn.addInput();
- nn.addInput();
- nn.addInput();
+ nn.addInput();//bias
+ nn.addInput();//inputA
+ nn.addInput();//inputB
//Simple AND
- for (int i = 0; i < 100; i++)
+ for (int i = 0; i < 300; i++)
{
PredictionInterface p1 = nn.computeOutput(new double[] {
1,
@@ -75,7 +75,7 @@ public class NeuralNetworkTest extends TestCase { nn.addInput();
//Simple AND
- for (int i = 0; i < 100; i++)
+ for (int i = 0; i < 300; i++)
{
PredictionInterface p1 = nn.computeOutput(new double[] {
1,
diff --git a/app/src/androidTest/java/org/rssin/rss/FeedLoaderTest.java b/app/src/androidTest/java/org/rssin/rss/FeedLoaderTest.java new file mode 100644 index 0000000..f4bbfdd --- /dev/null +++ b/app/src/androidTest/java/org/rssin/rss/FeedLoaderTest.java @@ -0,0 +1,23 @@ +package org.rssin.rss; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import java.net.URL; + +/** + * Created by Randy on 21-5-2015. + */ +public class FeedLoaderTest extends TestCase { + + + public void testFetchXML() throws Exception { + String urlstring = "http://www.pcworld.com/index.rss"; + URL url = new URL(urlstring); + FeedLoader loader = new FeedLoader(url); + loader.fetchXML(); + FeedItem f = loader.getFeed().getPosts().get(0); + Assert.assertEquals(f.getTitle(), "Amazon adds local groceries and meals to one-hour Prime Now delivery service"); + } + +}
\ No newline at end of file |