From 16ec9aba7e94e628f22bcaeb3ecdd7916f3a3df5 Mon Sep 17 00:00:00 2001 From: lnu Date: Thu, 31 Mar 2005 22:08:32 +0000 Subject: first import git-svn-id: svn+ssh://svn.gna.org/svn/feed2imap/trunk/feed2imap@5 f70e237a-67f3-0310-a06c-d2b8a7116972 --- test/tc_cache.rb | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100755 test/tc_cache.rb (limited to 'test/tc_cache.rb') diff --git a/test/tc_cache.rb b/test/tc_cache.rb new file mode 100755 index 0000000..d472d71 --- /dev/null +++ b/test/tc_cache.rb @@ -0,0 +1,78 @@ +#!/usr/bin/ruby -w + +$:.unshift File.join(File.dirname(__FILE__), '..', 'lib') + +require 'test/unit' +require 'feed2imap/cache' +require 'feed2imap/channel' +require 'pp' + +class ItemCacheTest < Test::Unit::TestCase + def test_create + cache = ItemCache::new + assert(! cache.nil?) + end + + def test_cache_lastcheck + cache = ItemCache::new + assert_equal(Time::at(0), cache.get_last_check('coucou')) + t = Time::now + cache.set_last_check('coucou', t) + assert_equal(t, cache.get_last_check('coucou')) + end + + def test_cache_management + c = ItemCache::new + assert_equal(0, c.nbchannels) + assert_equal(0, c.nbitems) + i1 = Item::new + i1.title = 'title1' + i1.link = 'link1' + i1.content = 'content1' + i2 = Item::new + i2.title = 'title2' + i2.link = 'link2' + i2.content = 'content2' + assert_equal([i1, i2], c.get_new_items('id', [i1, i2])[0]) + c.update_cache('id', [i1]) + assert_equal(1, c.nbitems) + assert_equal([i2], c.get_new_items('id', [i1, i2])[0]) + end + + def test_cache_management_updated + c = ItemCache::new + assert_equal(0, c.nbchannels) + assert_equal(0, c.nbitems) + i1 = Item::new + i1.title = 'title1' + i1.link = 'link1' + i1.content = 'content1' + i2 = Item::new + i2.title = 'title2' + i2.link = 'link2' + i2.content = 'content2' + news = c.get_new_items('id', [i1, i2])[0] + assert_equal([i1, i2], news) + idx1 = i1.cacheditem.index + assert_equal(0, idx1) + idx2 = i2.cacheditem.index + assert_equal(1, idx2) + c.update_cache('id', [i1, i2]) + i3 = Item::new + i3.title = 'title 1 - updated' + i3.link = 'link1' + i3.content = 'content1' + news, updated = c.get_new_items('id', [i3]) + assert_equal([], news) + assert_equal([i3], updated) + assert_equal(idx1, i3.cacheditem.index) + i4 = Item::new + i4.title = 'title 1 - updated' + i4.link = 'link1' + i4.content = 'content1 - modified' + news, updated = c.get_new_items('id', [i4]) + assert_equal([], news) + assert_equal([i4], updated) + assert_equal(idx1, i4.cacheditem.index) + end +end -- cgit v1.2.3-54-g00ecf