예제 #1
0
        public void Initialize_stores_the_retrieved_items_in_the_DataStore()
        {
            //Arrange
            var story = new FileStoredStory
            {
                Id = 42
            };

            var storagefolder = new Mock <IStorageFolder <FileStoredStory> >();

            storagefolder
            .Setup(fake => fake.GetStoredItemsAsync())
            .Returns(MakeAsync(new[] { story }));

            var folderprovider = new Mock <IStorageFolderProvider>();

            folderprovider
            .Setup(fake => fake.GetStorageFolder <FileStoredStory>(It.IsAny <string>()))
            .Returns(storagefolder.Object);

            var datastore = new InMemoryFileBackedStoryDataStore(folderprovider.Object);

            //Act
            datastore.InitializeAsync().Wait();

            //Assert
            var result = datastore.GetAllAsync().Result;

            Assert.AreEqual(story.Id, result.Single().Id);
        }
        public void ToData_maps_IsInBucket()
        {
            //Arrange
            var fileStored = new FileStoredStory
            {
                IsInBucket = true
            };

            //Act
            var data = fileStored.ToData();

            //Assert
            Assert.AreEqual(fileStored.IsInBucket, data.IsInBucket);
        }
        public void ToData_maps_Title()
        {
            //Arrange
            var fileStored = new FileStoredStory
            {
                Title = "foobar"
            };

            //Act
            var data = fileStored.ToData();

            //Assert
            Assert.AreEqual(fileStored.Title, data.Title);
        }
        public void ToData_maps_Id()
        {
            //Arrange
            var fileStored = new FileStoredStory
            {
                Id = 42
            };

            //Act
            var data = fileStored.ToData();

            //Assert
            Assert.AreEqual(fileStored.Id, data.Id);
        }
        public void MapFromData_maps_IsInBucket()
        {
            //Arrange
            var data = new Story
            {
                IsInBucket = true
            };
            var fileStored = new FileStoredStory();

            //Act
            fileStored.MapFromData(data);

            //Assert
            Assert.AreEqual(data.IsInBucket, fileStored.IsInBucket);
        }
        public void MapFromData_maps_Title()
        {
            //Arrange
            var data = new Story
            {
                Title = "Foobar"
            };
            var fileStored = new FileStoredStory();

            //Act
            fileStored.MapFromData(data);

            //Assert
            Assert.AreEqual(data.Title, fileStored.Title);
        }
        public void MapFromData_maps_Id()
        {
            //Arrange
            var data = new Story
            {
                Id = 42
            };
            var fileStored = new FileStoredStory();

            //Act
            fileStored.MapFromData(data);

            //Assert
            Assert.AreEqual(data.Id, fileStored.Id);
        }
예제 #8
0
        public void Get_retrieves_stories_with_requested_ids()
        {
            //Arrange
            var id1 = 42;
            var id2 = 27;

            var story1 = new FileStoredStory
            {
                Id = id1
            };

            var story2 = new FileStoredStory
            {
                Id = id2
            };

            var story3 = new FileStoredStory
            {
                Id = 123
            };

            var storagefolder = new Mock <IStorageFolder <FileStoredStory> >();

            storagefolder
            .Setup(fake => fake.GetStoredItemsAsync())
            .Returns(MakeAsync(new[] { story1, story2, story3 }));

            var folderprovider = new Mock <IStorageFolderProvider>();

            folderprovider
            .Setup(fake => fake.GetStorageFolder <FileStoredStory>(It.IsAny <string>()))
            .Returns(storagefolder.Object);

            var datastore = new InMemoryFileBackedStoryDataStore(folderprovider.Object);

            datastore.InitializeAsync().Wait();

            //Act
            var result = datastore.GetAsync(new[] { id1, id2 }).Result;

            //Assert
            var containsStory1 = result.Any(b => b.Id == id1);
            var containsStory2 = result.Any(b => b.Id == id2);

            Assert.IsTrue(containsStory1);
            Assert.IsTrue(containsStory2);
            Assert.AreEqual(2, result.Count());
        }