Example #1
0
        public List <Result> Query(Query query)
        {
            List <Result> results = new List <Result>(); // Opretter liste af resultater

            if (Feeds.FeedsList.Count == 0)
            {
                try
                {
                    Feeds.FeedsList = JsonReadWrite.LoadFeedsFromJsonAsync();
                }
                catch (Exception e)
                {
                    Feeds.HardcodedFeeds();
                }
                //Feeds.HardcodedFeeds();
            }

            //Settings window
            results.Add(SettingsWindow()); // tilføjer til listen


            string queryString = ""; // Opretter string til søgeresultat

            if (query.RawQuery.Length > 4)
            {
                queryString = query.RawQuery.Substring(4); // Tilføjer søgning til string
            }

            foreach (Feeds feed in Feeds.FeedsList)                   // Gennemløber alle feeds i Feeds
            {
                if (feed.ToBeSeen)                                    // Tjekker om feeded skal bruges (bool)
                {
                    RssManager reader = new RssManager(feed.FeedUrl); // Opretter reader med feeded

                    foreach (Rss.Items items in reader.GetFeed())     // Gennemløber de enkelte feeds
                    {
                        if (query.RawQuery.Length > 4)                // Hvis der søges
                        {
                            if (items.Title.ToLower().Contains(queryString.ToLower()) ||
                                items.Description.ToLower().Contains(queryString.ToLower())
                                )                                             // Tjekker om query passer med noget i historien
                            {
                                results.Add(NewStory(items, feed.ImagePath)); // tilføjer til listen
                            }
                        }
                        else
                        {
                            results.Add(NewStory(items, feed.ImagePath));  // tilføjer alle stories til listen
                        }
                    }
                }
            }

            results = results.OrderBy(o => o.SubTitle).ToList();
            results.Reverse();

            return(results);
        }
Example #2
0
        public void NewStoryTest()
        {
            NewsPlugin.RssManager reader    = new NewsPlugin.RssManager();
            List <string>         titleList = new List <string>();

            foreach (Rss.Items items in reader.GetFeed()) // Gennemløber de enkelte feeds
            {
                titleList.Add(items.Title);               // Sætter title
            }

            Assert.AreEqual(titleList[0], "Kænguru på springtur er hjemme i god behold igen");
        }
 public void GetFeedTest()
 {
     NewsPlugin.RssManager reader = new NewsPlugin.RssManager();
     Assert.AreEqual(reader.GetFeed()[0].Title, "Kænguru på springtur er hjemme i god behold igen");
 }