public void Import_with_empty_diary_adds_0_out_of_0()
        {
            var entityUnderTest = new DreamDiaryViewModel(GetPersistenceService(), Substitute.For <IDreamDiaryPaths>())
            {
                CurrentDatabasePath = @"C:\Hello"
            };

            AddThreeDreamEntriesTwoDays(entityUnderTest);

            var result = entityUnderTest.Import(new List <DreamEntry>());

            result.EntriesInImportedDiary.Should().Be(0);
            result.EntriesImported.Should().Be(0);
        }
        public void Import_with_empty_diary_leaves_it_untouched()
        {
            var entityUnderTest = new DreamDiaryViewModel(GetPersistenceService(), Substitute.For <IDreamDiaryPaths>())
            {
                CurrentDatabasePath = @"C:\Hello"
            };

            AddThreeDreamEntriesTwoDays(entityUnderTest);

            entityUnderTest.DreamEntries.Should().HaveCount(3);

            entityUnderTest.Import(new List <DreamEntry>());

            entityUnderTest.DreamEntries.Should().HaveCount(3);
        }
        public void Import_with_duplicate_entries_imports_1_out_of_2()
        {
            var entityUnderTest = new DreamDiaryViewModel(GetPersistenceService(), Substitute.For <IDreamDiaryPaths>())
            {
                CurrentDatabasePath = @"C:\Hello"
            };

            AddThreeDreamEntriesTwoDays(entityUnderTest);

            var entries = new List <DreamEntry>
            {
                new DreamEntry(new DateTime(2019, 2, 3), "Friend", "Hello"),
                new DreamEntry(new DateTime(2019, 2, 23), "A", "B")
            };

            var result = entityUnderTest.Import(entries);

            result.EntriesImported.Should().Be(1);
            result.EntriesInImportedDiary.Should().Be(2);
        }
        public void Import_with_duplicate_entries_does_not_add_them()
        {
            var entityUnderTest = new DreamDiaryViewModel(GetPersistenceService(), Substitute.For <IDreamDiaryPaths>())
            {
                CurrentDatabasePath = @"C:\Hello"
            };

            AddThreeDreamEntriesTwoDays(entityUnderTest);

            entityUnderTest.DreamEntries.Should().HaveCount(3);

            var entries = new List <DreamEntry>
            {
                new DreamEntry(new DateTime(2019, 2, 3), "Friend", "Hello"),
                new DreamEntry(new DateTime(2019, 2, 23), "A", "B")
            };

            entityUnderTest.Import(entries);

            entityUnderTest.DreamEntries.Should().HaveCount(4);
        }