public static void AssertLogModelModelIsEqualToLogModel(LogDbModel LogDbModel, LogModel logData, JsonSerializerSettings jsonSerializerSettings)
 {
     Assert.AreEqual(logData.LogId, LogDbModel.LogId);
     Assert.AreEqual(logData.Context, LogDbModel.Context);
     Assert.AreEqual(logData.LogType, LogDbModel.LogType);
     Assert.AreEqual(logData.Source, LogDbModel.Source);
     Assert.AreEqual(logData.LogDate, LogDbModel.LogDate);
     Assert.AreEqual(logData.Description, LogDbModel.Description);
     Assert.AreEqual(JsonConvert.SerializeObject(logData.LogItems, jsonSerializerSettings), LogDbModel.LogItemsJson);
     Assert.AreEqual(JsonConvert.SerializeObject(logData.Tags, jsonSerializerSettings), LogDbModel.TagsJson);
 }
Example #2
0
        public void BuildDbEntity_When_Called_Given_That_Log_Item_Contains_Self_Reference_Loop()
        {
            // Arrange
            LogDbModelEntityBuilder logDbModelEntityBuilder = new LogDbModelEntityBuilder();
            LogModel logData = Samples.LogModels.WithTagsAndItems();

            // Object containing self reference loop.
            logData.LogItems[0].Value = new ClassWithCircularReference();

            // Act
            LogDbModel logDbModel = (LogDbModel)logDbModelEntityBuilder.BuildDbEntity(logData);

            // Assert
            JsonSerializerSettings jsonSerializerSettings = new JsonSerializerSettings()
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            };

            Assert.AreEqual(JsonConvert.SerializeObject(logData.LogItems, jsonSerializerSettings), logDbModel.LogItemsJson);
        }
Example #3
0
        public void BuildDbEntity_When_Called_Serializes_Log_Items_And_Tags_Using_JsonSerializerFacade()
        {
            // Arrange
            LogModel logData = Samples.LogModels.WithTagsAndItems();
            var      jsonSerializerFacadeMock = new Mock <IJsonSerializerFacade>();

            jsonSerializerFacadeMock.Setup(x => x.Serialize(It.IsAny <string[]>(), It.IsAny <JsonSerializerSettings>())).Returns("serialized tags");
            jsonSerializerFacadeMock.Setup(x => x.Serialize(It.IsAny <LogItem[]>(), It.IsAny <JsonSerializerSettings>())).Returns("serialized log items");
            var jsonSerializerSettings = new JsonSerializerSettings();
            LogDbModelEntityBuilder logDbModelEntityBuilder = new LogDbModelEntityBuilder(jsonSerializerSettings);

            logDbModelEntityBuilder.ResetJsonSerializerFacade(jsonSerializerFacadeMock.Object);

            // Act
            LogDbModel logDbModel = (LogDbModel)logDbModelEntityBuilder.BuildDbEntity(logData);

            // Assert
            jsonSerializerFacadeMock.Verify(x => x.Serialize(logData.Tags, jsonSerializerSettings), Times.Once);
            jsonSerializerFacadeMock.Verify(x => x.Serialize(logData.LogItems, jsonSerializerSettings), Times.Once);
            Assert.AreEqual("serialized tags", logDbModel.TagsJson);
            Assert.AreEqual("serialized log items", logDbModel.LogItemsJson);
        }
 public static void AssertLogModelModelIsEqualToLogModel(LogDbModel LogDbModel, LogModel logData)
 {
     AssertLogModelModelIsEqualToLogModel(LogDbModel, logData, new JsonSerializerSettings());
 }