public void SaveDatabaseObject_ObjectInPopulated_ObjectIsSavedToDatabase() { const string json = @"{'someOtherObject': true}"; IDatabaseAccessor mockDatabaseAccessor = CreateMockDatabaseAccessor(json); var sut = CreateDatabaseManager(mockDatabaseAccessor); var testDatabaseObject = new TestDatabaseObject { IntProperty = 5, StringProperty = "String", List = new[] { true, false, true } }; sut.SaveDatabaseObject("databaseObject", testDatabaseObject); Mock.Get(mockDatabaseAccessor).Verify(da => da.WriteToDatabase(It.IsAny <string>()), Times.Once()); var savedJsonTree = JObject.Parse(_jsonWrittenToDatabase); savedJsonTree["someOtherObject"].ToObject <bool>().ShouldBe(true); var savedTestDatabaseObject = JsonConvert.DeserializeObject <TestDatabaseObject>(savedJsonTree["databaseObject"].ToString()); savedTestDatabaseObject.StringProperty.ShouldBe(testDatabaseObject.StringProperty); savedTestDatabaseObject.IntProperty.ShouldBe(testDatabaseObject.IntProperty); savedTestDatabaseObject.List.ShouldMatch(testDatabaseObject.List.ToArray()); }
public void SaveThenLoadDatabaseObject_ObjectIsSavedAndLoadedCorrectly() { const string json = @"{'someOtherObject': true}"; IDatabaseAccessor mockDatabaseAccessor = CreateMockDatabaseAccessor(json); var sut = CreateDatabaseManager(mockDatabaseAccessor); var testDatabaseObject = new TestDatabaseObject { IntProperty = 5, StringProperty = "String", List = new[] { true, false, true } }; sut.SaveDatabaseObject("databaseObject", testDatabaseObject); var sut2 = CreateDatabaseManager(CreateMockDatabaseAccessor(_jsonWrittenToDatabase)); var savedAndLoadedTestDatabaseObject = sut2.GetDatabaseObject <TestDatabaseObject>("databaseObject"); savedAndLoadedTestDatabaseObject.StringProperty.ShouldBe(testDatabaseObject.StringProperty); savedAndLoadedTestDatabaseObject.IntProperty.ShouldBe(testDatabaseObject.IntProperty); savedAndLoadedTestDatabaseObject.List.ShouldMatch(testDatabaseObject.List.ToArray()); }
public void SaveDatabaseObject_ObjectInPopulated_ObjectIsSavedToDatabase() { const string json = @"{'someOtherObject': true}"; IDatabaseAccessor mockDatabaseAccessor = CreateMockDatabaseAccessor(json); var sut = CreateDatabaseManager(mockDatabaseAccessor); var testDatabaseObject = new TestDatabaseObject { IntProperty = 5, StringProperty = "String", List = new[] { true, false, true } }; sut.SaveDatabaseObject("databaseObject", testDatabaseObject); Mock.Get(mockDatabaseAccessor).Verify(da => da.WriteToDatabase(It.IsAny<string>()), Times.Once()); var savedJsonTree = JObject.Parse(_jsonWrittenToDatabase); savedJsonTree["someOtherObject"].ToObject<bool>().ShouldBe(true); var savedTestDatabaseObject = JsonConvert.DeserializeObject<TestDatabaseObject>(savedJsonTree["databaseObject"].ToString()); savedTestDatabaseObject.StringProperty.ShouldBe(testDatabaseObject.StringProperty); savedTestDatabaseObject.IntProperty.ShouldBe(testDatabaseObject.IntProperty); savedTestDatabaseObject.List.ShouldMatch(testDatabaseObject.List.ToArray()); }
public void SaveThenLoadDatabaseObject_ObjectIsSavedAndLoadedCorrectly() { const string json = @"{'someOtherObject': true}"; IDatabaseAccessor mockDatabaseAccessor = CreateMockDatabaseAccessor(json); var sut = CreateDatabaseManager(mockDatabaseAccessor); var testDatabaseObject = new TestDatabaseObject { IntProperty = 5, StringProperty = "String", List = new[] { true, false, true } }; sut.SaveDatabaseObject("databaseObject", testDatabaseObject); var sut2 = CreateDatabaseManager(CreateMockDatabaseAccessor(_jsonWrittenToDatabase)); var savedAndLoadedTestDatabaseObject = sut2.GetDatabaseObject<TestDatabaseObject>("databaseObject"); savedAndLoadedTestDatabaseObject.StringProperty.ShouldBe(testDatabaseObject.StringProperty); savedAndLoadedTestDatabaseObject.IntProperty.ShouldBe(testDatabaseObject.IntProperty); savedAndLoadedTestDatabaseObject.List.ShouldMatch(testDatabaseObject.List.ToArray()); }