コード例 #1
0
        public void ConvertThrowExceptionForNotSupportedDataTypeTest()
        {
            // Arrange
            var properties = new List <DataRecordLogProperty <int> >
            {
                new DataRecordLogProperty <int>
                {
                    Action             = DataRecordAction.Insert,
                    DataRecordId       = 1,
                    DataRecordParentId = 11,
                    PropertyName       = nameof(Alpha.Epsilon),
                    DataRecordName     = nameof(Alpha),
                    DataType           = typeof(AdditionalInformation),
                    LogEntryGroupId    = 888,
                    UserId             = 999,
                    Value = new AdditionalInformation {
                        Message = "MegaVolt"
                    },
                    Timestamp = DateTime.Today
                }
            };

            var settings = new DataRecordLogSettings
            {
                EnumAsString = true,
                UnsupportedDataTypeAction = UnsupportedDataTypeAction.ThrowExeception
            };

            var classUnderTest = new DataRecordLogEngine(settings);

            // Act
            classUnderTest.Convert(properties);
        }
コード例 #2
0
        public void ConvertTreadEnumAsStringTest()
        {
            // Arrange
            var properties = new List <DataRecordLogProperty <int> >
            {
                new DataRecordLogProperty <int>
                {
                    Action             = DataRecordAction.Insert,
                    DataRecordId       = 1,
                    DataRecordParentId = 11,
                    PropertyName       = nameof(Alpha.Delta),
                    DataRecordName     = nameof(Alpha),
                    DataType           = typeof(LogLevel),
                    LogEntryGroupId    = 888,
                    UserId             = 999,
                    Value     = LogLevel.Error,
                    Timestamp = DateTime.Today
                }
            };

            var settings = new DataRecordLogSettings
            {
                EnumAsString = true,
                UnsupportedDataTypeAction = UnsupportedDataTypeAction.Ignore
            };

            var classUnderTest = new DataRecordLogEngine(settings);

            // Act
            var logs = classUnderTest.Convert(properties);

            // Assert
            logs.Should().HaveCount(1);
            var logForInsert = logs.First();

            logForInsert.Action.Should().Be(DataRecordAction.Insert);
            logForInsert.DataRecordId.Should().Be(1);
            logForInsert.DataRecordParentId.Should().Be(11);
            logForInsert.DataRecordName.Should().Be(nameof(Alpha));
            logForInsert.LogEntryGroupId.Should().Be(888);
            logForInsert.UserId.Should().Be(999);
            logForInsert.Timestamp.Should().Be(DateTime.Today);
            logForInsert.Properties[nameof(Alpha.Delta)].Value.Should().Be(LogLevel.Error.ToString());
            logForInsert.Properties[nameof(Alpha.Delta)].Type.Should().Be(FieldValueType.String);
        }
コード例 #3
0
        public void ConvertTest()
        {
            // Arrange
            var properties = new List <DataRecordLogProperty <int> >
            {
                new DataRecordLogProperty <int>
                {
                    Action             = DataRecordAction.Insert,
                    DataRecordId       = 1,
                    DataRecordParentId = 11,
                    PropertyName       = nameof(Alpha.Gamma),
                    DataRecordName     = nameof(Alpha),
                    DataType           = typeof(string),
                    LogEntryGroupId    = 888,
                    UserId             = 999,
                    Value     = "DarkwingDuck",
                    Timestamp = DateTime.Today
                },
                new DataRecordLogProperty <int>
                {
                    Action             = DataRecordAction.Insert,
                    DataRecordId       = 1,
                    DataRecordParentId = 11,
                    PropertyName       = nameof(Alpha.Eta),
                    DataRecordName     = nameof(Alpha),
                    DataType           = typeof(decimal),
                    LogEntryGroupId    = 888,
                    UserId             = 999,
                    Value     = 10.5m,
                    Timestamp = DateTime.Today
                },
                new DataRecordLogProperty <int>
                {
                    Action             = DataRecordAction.Update,
                    DataRecordId       = 2,
                    DataRecordParentId = 22,
                    PropertyName       = nameof(AdditionalInformation.Message),
                    DataRecordName     = nameof(AdditionalInformation),
                    DataType           = typeof(string),
                    LogEntryGroupId    = 777,
                    UserId             = 919,
                    Value     = "222",
                    Timestamp = DateTime.Today.AddDays(-1)
                },
                new DataRecordLogProperty <int>
                {
                    Action             = DataRecordAction.Update,
                    DataRecordId       = 2,
                    DataRecordParentId = 22,
                    PropertyName       = nameof(AdditionalInformation.Class),
                    DataRecordName     = nameof(AdditionalInformation),
                    DataType           = typeof(string),
                    LogEntryGroupId    = 777,
                    UserId             = 919,
                    Value     = "MegaVolt",
                    Timestamp = DateTime.Today.AddDays(-1)
                }
            };

            // Act
            var logs = _classUnderTest.Convert(properties);

            // Assert
            logs.Should().HaveCount(2);
            var logForInsert = logs.First();
            var logForUpdate = logs.Last();

            logForInsert.Action.Should().Be(DataRecordAction.Insert);
            logForInsert.DataRecordId.Should().Be(1);
            logForInsert.DataRecordParentId.Should().Be(11);
            logForInsert.DataRecordName.Should().Be(nameof(Alpha));
            logForInsert.LogEntryGroupId.Should().Be(888);
            logForInsert.UserId.Should().Be(999);
            logForInsert.Timestamp.Should().Be(DateTime.Today);
            logForInsert.Properties[nameof(Alpha.Eta)].Value.Should().Be("10.5");
            logForInsert.Properties[nameof(Alpha.Eta)].Type.Should().Be(FieldValueType.Decimal);
            logForInsert.Properties[nameof(Alpha.Gamma)].Value.Should().Be("DarkwingDuck");
            logForInsert.Properties[nameof(Alpha.Gamma)].Type.Should().Be(FieldValueType.String);

            logForUpdate.Action.Should().Be(DataRecordAction.Update);
            logForUpdate.DataRecordId.Should().Be(2);
            logForUpdate.DataRecordParentId.Should().Be(22);
            logForUpdate.DataRecordName.Should().Be(nameof(AdditionalInformation));
            logForUpdate.LogEntryGroupId.Should().Be(777);
            logForUpdate.UserId.Should().Be(919);
            logForUpdate.Timestamp.Should().Be(DateTime.Today.AddDays(-1));
            logForUpdate.Properties[nameof(AdditionalInformation.Message)].Value.Should().Be("222");
            logForUpdate.Properties[nameof(AdditionalInformation.Message)].Type.Should().Be(FieldValueType.String);
            logForUpdate.Properties[nameof(AdditionalInformation.Class)].Value.Should().Be("MegaVolt");
            logForUpdate.Properties[nameof(AdditionalInformation.Class)].Type.Should().Be(FieldValueType.String);
        }