public void ExportImportTest() { EFDbConnect EFDbConnectDemoBase = CreateDemoBase("Save_test.db"); ILogger ILoggerMock = Mock.Of<ILogger>(); // Export DiskOperation ExportIO = new DiskOperation(ILoggerMock,new SQLitePlatformWin32(),EFDbConnectDemoBase); string exportpath = PathToDb("export.db"); ExportIO.ExportLearningItem(exportpath, EFDbConnectDemoBase.Table<LearningItem>().Where(x=>x.Name == "First").First().id , false); EFDbConnect dbConnect = new EFDbConnect(new SQLitePlatformWin32(), exportpath,false); QuantityTest(dbConnect); dbConnect.Close(); EFDbConnectDemoBase.Close(); // Import to empty db EFDbConnect DestConnect = RecreateDB("dest.db"); DiskOperation ImportIO = new DiskOperation(ILoggerMock,new SQLitePlatformWin32(),DestConnect); ImportIO.ImportLearningItem(exportpath, false); QuantityTest(DestConnect); // Update DestConnect.Delete(DestConnect.Table<Subtitles>().First()); DestConnect.Delete(DestConnect.Table<AudioTrack>().First()); DestConnect.Delete(DestConnect.Table<TranslationOfWord>().First()); Assert.IsTrue(DestConnect.Table<Subtitles>().Count() == 1); Assert.IsTrue(DestConnect.Table<AudioTrack>().Count() == 1); Assert.IsTrue(DestConnect.Table<TranslationOfWord>().Count() == 1); ImportIO.ImportLearningItem(exportpath, false); QuantityTest(DestConnect); DestConnect.Close(); }
public void ExportTest() { EFDbConnect EFDbConnectDemoBase = CreateDemoBase("Save_test.db"); ILogger ILoggerMock = Mock.Of<ILogger>(); DiskOperation diskop = new DiskOperation(ILoggerMock,new SQLitePlatformWin32(),EFDbConnectDemoBase); string path = PathToDb("upload.db"); diskop.ExportLearningItem(path, EFDbConnectDemoBase.Table<LearningItem>().Where(x=>x.Name == "First").First().id , true); EFDbConnect dbConnect = new EFDbConnect(new SQLitePlatformWin32(), path,false); Assert.IsTrue(dbConnect.Table<LearningItem>().Count() == 1); Assert.IsTrue(dbConnect.Table<Subtitles>().Count() == 2); Assert.IsTrue(dbConnect.Table<SubtitleItem>().Count() == 4); Assert.IsTrue(dbConnect.Table<SubtitleItem.Word>().Count() == 2); Assert.IsTrue(dbConnect.Table<WordOfDictionary>().Count() == 2); Assert.IsTrue(dbConnect.Table<TranslationOfWord>().Count() == 2); Assert.IsTrue(dbConnect.Table<Dictionary>().Count() == 1); Assert.IsTrue(dbConnect.Table<AudioTrack>().Count() == 2); Assert.IsTrue(dbConnect.Table<FrequencyDictionary>().Count() == 1); Assert.IsTrue(dbConnect.Table<FrequencyDictionary.Item>().Count() == 2); dbConnect.Close(); }