public void HasLocal_NewRemote_NewId_MinorChanges_ExactVersionMatch() { var remoteDeck = TestData.RemoteDeck1_MinorChanges; remoteDeck.Id = 2; _remoteDecks.Add(remoteDeck); var localDeck = TestData.LocalDeck1; localDeck.Version = new SerializableVersion(1, 1); localDeck.Versions.Add(TestData.LocalDeck1_MinorChanges); _localDecks.Add(localDeck); Assert.AreEqual(1, _localDecks.Count); Assert.AreEqual(1, _remoteDecks.Count); var decks = DeckImporter.GetImportedDecks(_remoteDecks, _localDecks); Assert.AreEqual(1, decks.Count); DeckComparer.AssertAreEqual(remoteDeck, decks[0].Deck); Assert.IsTrue(decks[0].Import); Assert.AreEqual(2, decks[0].ImportOptions.Count()); var existingDeck = decks[0].SelectedImportOption as ExistingDeck; Assert.IsNotNull(existingDeck); Assert.AreEqual(0, existingDeck.NewVersion.Major); Assert.AreEqual(0, existingDeck.NewVersion.Minor); DeckManager.ImportDecksTo(_localDecks, decks, false, true, true); Assert.AreEqual(1, _localDecks.Count); Assert.AreEqual(1, _localDecks[0].Versions.Count); var newLocalDeck = TestData.LocalDeck1; newLocalDeck.HsId = 2; DeckComparer.AssertAreEqual(newLocalDeck, _localDecks[0]); DeckComparer.AssertAreEqual(TestData.LocalDeck1_MinorChanges, _localDecks[0].Versions[0]); }
public void HasLocal_NewRemote_NewId_MajorChanges() { var remoteDeck = TestData.RemoteDeck1_MajorChanges; remoteDeck.Id = 2; _localDecks.Add(TestData.LocalDeck1); _remoteDecks.Add(remoteDeck); Assert.AreEqual(1, _localDecks.Count); Assert.AreEqual(1, _remoteDecks.Count); var decks = DeckImporter.GetImportedDecks(_remoteDecks, _localDecks); Assert.AreEqual(1, decks.Count); DeckComparer.AssertAreEqual(remoteDeck, decks[0].Deck); Assert.IsTrue(decks[0].Import); Assert.AreEqual(2, decks[0].ImportOptions.Count()); Assert.AreEqual(typeof(NewDeck), decks[0].SelectedImportOption.GetType()); DeckManager.ImportDecksTo(_localDecks, decks, false, true, true); Assert.AreEqual(2, _localDecks.Count); DeckComparer.AssertAreEqual(TestData.LocalDeck1, _localDecks[0]); DeckComparer.AssertAreEqual(remoteDeck, _localDecks[1]); }