public void Pad_NullPropertyInfo_ExceptionIsThrown()
 {
     var fieldValue           = "test";
     var fieldLength          = 10;
     var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy();
     var paddedFieldValue     = fieldPaddingStrategy.Pad(fieldValue, fieldLength, null);
 }
 public void Pad_NullValue_ExceptionIsThrown()
 {
     var record               = new MockRecord();
     var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.StringField));
     var fieldLength          = 10;
     var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy();
     var paddedFieldValue     = fieldPaddingStrategy.Pad(record.StringField, fieldLength, null);
 }
 public void Pad_NegativeFieldLength_ExceptionIsThrown()
 {
     var record = new MockRecord()
     {
         StringField = "test"
     };
     var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.StringField));
     var fieldLength          = -1;
     var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy();
     var paddedFieldValue     = fieldPaddingStrategy.Pad(record.StringField, fieldLength, property);
 }
        public void Pad_NullableIntFieldWithLeftJustifyTextAttribute_ValueIsLeftJustified()
        {
            var record = new MockRecord()
            {
                LeftJustifiedNullableIntField = 100
            };
            var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.LeftJustifiedNullableIntField));
            var fieldLength          = 10;
            var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy();
            var paddedFieldValue     = fieldPaddingStrategy.Pad(record.LeftJustifiedNullableIntField.ToString(), fieldLength, property);

            Assert.AreEqual("100       ", paddedFieldValue);
        }
        public void Pad_StringValue_ValueIsPaddedOnRight()
        {
            var record = new MockRecord()
            {
                StringField = "test"
            };
            var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.StringField));
            var fieldLength          = 10;
            var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy();
            var paddedFieldValue     = fieldPaddingStrategy.Pad(record.StringField, fieldLength, property);

            Assert.AreEqual("test      ", paddedFieldValue);
        }
        public void Pad_NullableNumericValue_ValueIsPaddedOnLeft()
        {
            var record = new MockRecord()
            {
                NullableIntField = 10
            };
            var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.NullableIntField));
            var fieldLength          = 10;
            var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy();
            var paddedFieldValue     = fieldPaddingStrategy.Pad(record.NullableIntField.ToString(), fieldLength, property);

            Assert.AreEqual("        10", paddedFieldValue);
        }
        public void Pad_NullableDateTimeValue_ValueIsPaddedOnLeft()
        {
            var record = new MockRecord()
            {
                NullableDateTimeField = DateTime.Parse("2000-01-01")
            };
            var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.NullableDateTimeField));
            var fieldLength          = 10;
            var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy();
            var paddedFieldValue     = fieldPaddingStrategy.Pad(record.NullableDateTimeField.Value.ToString("yyyyMMdd"), fieldLength, property);

            Assert.AreEqual("  20000101", paddedFieldValue);
        }
        public void Pad_NullableIntFieldWithRightJustifyTextAttributeAndCustomPaddingChar_ValueIsRightJustifiedWithCustomPaddingChar()
        {
            var record = new MockRecord()
            {
                RightJustifiedWithCustomPaddingCharNullableIntField = 100
            };
            var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.RightJustifiedWithCustomPaddingCharNullableIntField));
            var fieldLength          = 10;
            var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy();
            var paddedFieldValue     = fieldPaddingStrategy.Pad(record.RightJustifiedWithCustomPaddingCharNullableIntField.ToString(), fieldLength, property);

            Assert.AreEqual("XXXXXXX100", paddedFieldValue);
        }
        public void Pad_NullableDateTimeFieldWithRightJustifyTextAttributeAndCustomPaddingChar_ValueIsRightJustifiedWithCustomPaddingChar()
        {
            var record = new MockRecord()
            {
                RightJustifiedWithCustomPaddingCharNullableDateTimeField = DateTime.Parse("2000-01-01")
            };
            var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.RightJustifiedWithCustomPaddingCharNullableDateTimeField));
            var fieldLength          = 10;
            var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy();
            var paddedFieldValue     = fieldPaddingStrategy.Pad(record.RightJustifiedWithCustomPaddingCharNullableDateTimeField.Value.ToString("yyyyMMdd"), fieldLength, property);

            Assert.AreEqual("XX20000101", paddedFieldValue);
        }
        public void Pad_StringFieldWithRightJustifyTextAttribute_ValueIsRightJustified()
        {
            var record = new MockRecord()
            {
                RightJustifiedStringField = "test"
            };
            var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.RightJustifiedStringField));
            var fieldLength          = 10;
            var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy();
            var paddedFieldValue     = fieldPaddingStrategy.Pad(record.RightJustifiedStringField, fieldLength, property);

            Assert.AreEqual("      test", paddedFieldValue);
        }
        public void Pad_StringFieldWithLeftJustifyTextAttributeAndCustomPaddingChar_ValueIsLeftJustifiedWithCustomPaddingChar()
        {
            var record = new MockRecord()
            {
                LeftJustifiedWithCustomPaddingCharStringField = "test"
            };
            var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.LeftJustifiedWithCustomPaddingCharStringField));
            var fieldLength          = 10;
            var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy();
            var paddedFieldValue     = fieldPaddingStrategy.Pad(record.LeftJustifiedWithCustomPaddingCharStringField, fieldLength, property);

            Assert.AreEqual("testXXXXXX", paddedFieldValue);
        }
        public void Pad_DateTimeFieldWithLeftJustifyTextAttribute_ValueIsLeftJustified()
        {
            var record = new MockRecord()
            {
                LeftJustifiedDateTimeField = DateTime.Parse("2000-01-01")
            };
            var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.LeftJustifiedDateTimeField));
            var fieldLength          = 10;
            var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy();
            var paddedFieldValue     = fieldPaddingStrategy.Pad(record.LeftJustifiedDateTimeField.ToString("yyyyMMdd"), fieldLength, property);

            Assert.AreEqual("20000101  ", paddedFieldValue);
        }
        public void Pad_NumericValueWithLeftJustification_ValueIsPaddedOnRight()
        {
            var record = new MockRecord()
            {
                IntField = 10
            };
            var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.IntField));
            var fieldLength          = 10;
            var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy()
            {
                RightJustifyNumbers = false
            };
            var paddedFieldValue = fieldPaddingStrategy.Pad(record.IntField.ToString(), fieldLength, property);

            Assert.AreEqual("10        ", paddedFieldValue);
        }
        public void Pad_DateTimeValueWithLeftJustification_ValueIsPaddedOnRight()
        {
            var record = new MockRecord()
            {
                DateTimeField = DateTime.Parse("2000-01-01")
            };
            var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.DateTimeField));
            var fieldLength          = 10;
            var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy()
            {
                RightJustifyDateTimes = false
            };
            var paddedFieldValue = fieldPaddingStrategy.Pad(record.DateTimeField.ToString("yyyyMMdd"), fieldLength, property);

            Assert.AreEqual("20000101  ", paddedFieldValue);
        }
        public void Pad_StringValueWithCustomPadChar_ValueIsPaddedWithCustomPadChar()
        {
            var record = new MockRecord()
            {
                StringField = "test"
            };
            var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.StringField));
            var fieldLength          = 10;
            var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy()
            {
                TextPaddingChar = 'X'
            };
            var paddedFieldValue = fieldPaddingStrategy.Pad(record.StringField, fieldLength, property);

            Assert.AreEqual("testXXXXXX", paddedFieldValue);
        }
        public void Pad_NumericValueWithCustomPadChar_ValueIsPaddedWithCustomPadChar()
        {
            var record = new MockRecord()
            {
                IntField = 10
            };
            var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.IntField));
            var fieldLength          = 10;
            var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy()
            {
                NumberPaddingChar = 'X'
            };
            var paddedFieldValue = fieldPaddingStrategy.Pad(record.IntField.ToString(), fieldLength, property);

            Assert.AreEqual("XXXXXXXX10", paddedFieldValue);
        }
        public void Pad_DateTimeValueWithCustomPadChar_ValueIsPaddedWithCustomPadChar()
        {
            var record = new MockRecord()
            {
                DateTimeField = DateTime.Parse("2000-01-01")
            };
            var property             = typeof(MockRecord).GetProperty(nameof(MockRecord.DateTimeField));
            var fieldLength          = 10;
            var fieldPaddingStrategy = new TextRecordFieldPaddingStrategy()
            {
                DateTimePaddingChar = 'X'
            };
            var paddedFieldValue = fieldPaddingStrategy.Pad(record.DateTimeField.ToString("yyyyMMdd"), fieldLength, property);

            Assert.AreEqual("XX20000101", paddedFieldValue);
        }