Example #1
0
        public void Feeder_ContsructorTest()
        {
            var feeder = new Feeder(new Uri("http://feeds.feedburner.com/TEDTalks_video"));
            Assert.IsNotNull(feeder);

            Uri uri = feeder.Uri;
            Assert.AreEqual<string>("http://feeds.feedburner.com/TEDTalks_video", feeder.Uri.AbsoluteUri);
        }
Example #2
0
        public void Feeder_RequestMethodTest()
        {
            var feeder = new Feeder(new Uri("http://feeds.feedburner.com/TEDTalks_video"));
            IAsyncResult result = feeder.Request();
            Assert.AreNotEqual<IAsyncResult>(null, result);

            feeder.OnRead = new Action<TextReader>(reader =>
            {
                Assert.IsTrue(reader.ReadToEnd().Length > 0);
                this.EnqueueTestComplete();
            });
        }
Example #3
0
        /// <summary>
        /// Register provider for feed
        /// </summary>
        /// <param name="provider">provider</param>
        /// <returns>true : sucess, false : error</returns>
        public bool Register(Provider provider)
        {
            if (provider == null)
            {
                throw new ArgumentException("provider");
            }

            bool isExist = this.Items.ContainsKey(provider);

            if (isExist == true)
            {
                return(false);
            }

            Feeder feeder = new Feeder(provider.Uri);

            feeder.OnRead = new Action <System.IO.TextReader>(r =>
            {
                provider.Parser.Load(r);
                provider.Filler.Fill(provider.Parser);
            });

            feeder.OnError = new Action <FeedErrorEventArgs>(err =>
            {
                Logger.Log(err.ToString());

                if (Error != null)
                {
                    Error(this, err);
                }
            });

            this.Items.Add(provider, feeder);

            provider.RequestDelegate = new Action <Provider>(p => { feeder.Request(); });

            return(true);
        }
Example #4
0
        /// <summary>
        /// Register provider for feed 
        /// </summary>
        /// <param name="provider">provider</param>
        /// <returns>true : sucess, false : error</returns>
        public bool Register(Provider provider)
        {
            if (provider == null)
            {
                throw new ArgumentException("provider");
            }

            bool isExist = this.Items.ContainsKey(provider);
            if (isExist == true)
            {
                return false;
            }

            Feeder feeder = new Feeder(provider.Uri);

            feeder.OnRead = new Action<System.IO.TextReader>(r =>
            {
                provider.Parser.Load(r);
                provider.Filler.Fill(provider.Parser);
            });

            feeder.OnError = new Action<FeedErrorEventArgs>(err =>
            {
                Logger.Log(err.ToString());

                if (Error != null)
                {
                    Error(this, err);
                }
            });

            this.Items.Add(provider, feeder);

            provider.RequestDelegate = new Action<Provider>(p => { feeder.Request(); });

            return true;
        }