예제 #1
0
        public void ClearDatabase_Returns()
        {
            var stubReader     = new StubIFileReader();
            var stubWriter     = new StubIFileWriter();
            var fileDataAccess = new FileDataAccess <FakeBlogModel>(stubReader, stubWriter);
            var param_filePath = "path/to/the/file.json";

            fileDataAccess.ClearDatabase(param_filePath);
        }
예제 #2
0
        public void WriteToDatabase_ListOfEntityIsEmpty_Returns()
        {
            var stubReader         = new StubIFileReader();
            var stubWriter         = new StubIFileWriter();
            var fileDataAccess     = new FileDataAccess <FakeBlogModel>(stubReader, stubWriter);
            var param_filePath     = "path/to/the/file.json";
            var param_listOfEntity = new List <FakeBlogModel>();

            fileDataAccess.WriteToDatabase(param_filePath, param_listOfEntity);
        }
예제 #3
0
        public void WriteToDatabase_EntityIsNull_Returns()
        {
            var           stubReader     = new StubIFileReader();
            var           stubWriter     = new StubIFileWriter();
            var           fileDataAccess = new FileDataAccess <FakeBlogModel>(stubReader, stubWriter);
            var           param_filePath = "path/to/the/file.json";
            FakeBlogModel param_entity   = null;

            fileDataAccess.WriteToDatabase(param_filePath, param_entity);
        }
예제 #4
0
        public void ClearDatabase_VerifyWriter()
        {
            var stubReader     = new StubIFileReader();
            var mockWriter     = new MockIFileWriter();
            var fileDataAccess = new FileDataAccess <FakeBlogModel>(stubReader, mockWriter);
            var param_filePath = "path/to/the/file.json";

            fileDataAccess.ClearDatabase(param_filePath);

            mockWriter.VerifyWrite(param_filePath, false, "");
        }
예제 #5
0
        public void OverwriteDatabase_ListOfEntityIsValid_Returns()
        {
            var stubReader         = new StubIFileReader();
            var stubWriter         = new StubIFileWriter();
            var fileDataAccess     = new FileDataAccess <FakeBlogModel>(stubReader, stubWriter);
            var param_filePath     = "path/to/the/file.json";
            var param_listOfEntity = new List <FakeBlogModel> {
                new FakeBlogModel()
            };

            fileDataAccess.OverwriteDatabase(param_filePath, param_listOfEntity);
        }
예제 #6
0
        public void OverwriteToDatabase_ListOfEntityIsEmpty_VerifyWriter()
        {
            var stubReader         = new StubIFileReader();
            var mockWriter         = new MockIFileWriter();
            var fileDataAccess     = new FileDataAccess <FakeBlogModel>(stubReader, mockWriter);
            var param_filePath     = "path/to/the/file.json";
            var param_listOfEntity = new List <FakeBlogModel>();

            fileDataAccess.OverwriteDatabase(param_filePath, param_listOfEntity);

            mockWriter.VerifyWriteNeverCalled();
        }
예제 #7
0
        public void WriteToDatabase_EntityIsNull_VerifyWriter()
        {
            var           stubReader     = new StubIFileReader();
            var           mockWriter     = new MockIFileWriter();
            var           fileDataAccess = new FileDataAccess <FakeBlogModel>(stubReader, mockWriter);
            var           param_filePath = "path/to/the/file.json";
            FakeBlogModel param_entity   = null;

            fileDataAccess.WriteToDatabase(param_filePath, param_entity);

            mockWriter.VerifyWriteNeverCalled();
        }
예제 #8
0
        public void ReadDatabase_FileContentsAreNullOrEmpty_ReturnsEmptyList(string stub_fileContents)
        {
            var stubReader     = new StubIFileReader();
            var stubWriter     = new StubIFileWriter();
            var fileDataAccess = new FileDataAccess <FakeBlogModel>(stubReader, stubWriter);

            stubReader.StubRead(stub_fileContents);
            var param_filePath  = "path/to/the/file.json";
            var expected_return = new List <FakeBlogModel>();

            var actual_return = fileDataAccess.ReadDatabase(param_filePath);

            Assert.Equal(expected_return, actual_return);
        }
예제 #9
0
        public void OverwriteDatabase_ListOfEntityIsValid_VerifyWriter()
        {
            var stubReader         = new StubIFileReader();
            var mockWriter         = new MockIFileWriter();
            var fileDataAccess     = new FileDataAccess <FakeBlogModel>(stubReader, mockWriter);
            var param_filePath     = "path/to/the/file.json";
            var param_listOfEntity = new List <FakeBlogModel> {
                new FakeBlogModel()
            };

            fileDataAccess.OverwriteDatabase(param_filePath, param_listOfEntity);

            mockWriter.VerifyWrite(param_filePath, false, JsonConvert.SerializeObject(param_listOfEntity));
        }
예제 #10
0
        public void WriteToDatabase_ListOfEntityIsValidAndDatabaseContainsOneObject_Returns()
        {
            var stubReader         = new StubIFileReader();
            var stubWriter         = new StubIFileWriter();
            var fileDataAccess     = new FileDataAccess <FakeBlogModel>(stubReader, stubWriter);
            var param_filePath     = "path/to/the/file.json";
            var param_listOfEntity = new List <FakeBlogModel> {
                new FakeBlogModel()
            };

            stubReader.StubRead(JsonConvert.SerializeObject(param_listOfEntity));

            fileDataAccess.WriteToDatabase(param_filePath, param_listOfEntity);
        }
예제 #11
0
        public void WriteToDatabase_EntityIsValidAndDatabaseIsEmpty_VerifyWriter()
        {
            var           stubReader            = new StubIFileReader();
            var           mockWriter            = new MockIFileWriter();
            var           fileDataAccess        = new FileDataAccess <FakeBlogModel>(stubReader, mockWriter);
            var           param_filePath        = "path/to/the/file.json";
            FakeBlogModel param_entity          = new FakeBlogModel();
            var           expected_listOfEntity = new List <FakeBlogModel> {
                param_entity
            };

            fileDataAccess.WriteToDatabase(param_filePath, param_entity);

            mockWriter.VerifyWrite(param_filePath, false, JsonConvert.SerializeObject(expected_listOfEntity));
        }
예제 #12
0
        public void ReadDatabase_FileContainsOneObject_ReturnsListWithTheOneObject()
        {
            var stubReader        = new StubIFileReader();
            var stubWriter        = new StubIFileWriter();
            var fileDataAccess    = new FileDataAccess <FakeBlogModel>(stubReader, stubWriter);
            var param_filePath    = "path/to/the/file.json";
            var stub_listOfEntity = new List <FakeBlogModel> {
                new FakeBlogModel()
            };
            var stub_fileContents = JsonConvert.SerializeObject(stub_listOfEntity);

            stubReader.StubRead(stub_fileContents);
            var expected_return = JsonConvert.DeserializeObject <List <FakeBlogModel> >(stub_fileContents);

            var actual_return = fileDataAccess.ReadDatabase(param_filePath);

            Assert.Equal(expected_return.Count, actual_return.Count);
            Assert.Equal(expected_return[0].FakeProperty, actual_return[0].FakeProperty);
        }
예제 #13
0
        public void WriteToDatabase_ListOfEntityIsValidAndDatabaseContainsOneObject_VerifyWriter()
        {
            var stubReader         = new StubIFileReader();
            var mockWriter         = new MockIFileWriter();
            var fileDataAccess     = new FileDataAccess <FakeBlogModel>(stubReader, mockWriter);
            var param_filePath     = "path/to/the/file.json";
            var param_listOfEntity = new List <FakeBlogModel> {
                new FakeBlogModel()
            };
            var stub_listOfEntity = new List <FakeBlogModel> {
                new FakeBlogModel()
            };

            stubReader.StubRead(JsonConvert.SerializeObject(stub_listOfEntity));
            stub_listOfEntity.AddRange(param_listOfEntity);

            fileDataAccess.WriteToDatabase(param_filePath, param_listOfEntity);

            mockWriter.VerifyWrite(param_filePath, false, JsonConvert.SerializeObject(stub_listOfEntity));
        }