예제 #1
0
        public void realDownloading()
        {
            FSWrapper       fsw = new FlibustaCatalogWrapper(@"D:\Temp\BookDb\catalog.txt");
            FlibustaLibrary fl  = new FlibustaLibrary(fsw);

            fl.updateLibrary();
        }
예제 #2
0
        public void shouldBeAbleToUpdate()
        {
            FakeFSWrapper   fsw    = new FakeFSWrapper();
            FlibustaLibrary target = new FlibustaLibrary(fsw);

            // Файл каталога недоступен, вся библиотека недоступна
            Assert.IsFalse(target.isAvailable());

            // Попытки получить свойства библиотеки выбрасывают исключение
            try {
                target.getBookCount();
                Assert.Fail();
            } catch (FileNotFoundException e) {
                // Do Nothing
            }

            try {
                target.getDaysAfterLastUpdate();
                Assert.Fail();
            } catch (FileNotFoundException e) {
                // Do Nothing
            }

            // После первого обновления должно стать 50 книг и 0 дней
            target.updateLibrary();
            Assert.AreEqual(50, target.getBookCount());
            Assert.AreEqual(0, target.getDaysAfterLastUpdate());

            // Делаем вид, что прочитали за 100 дней 5 книг
            fsw.setAge(100);
            fsw.setLinesCount(45);
            Assert.AreEqual(100, target.getDaysAfterLastUpdate());
            Assert.AreEqual(45, target.getBookCount());

            target.updateLibrary();
            // После второго обновления должно стать 45+50=95 книг и возраст = 0 дней
            Assert.AreEqual(95, target.getBookCount());
            Assert.AreEqual(0, target.getDaysAfterLastUpdate());
        }