/// <summary> /// Construye un nuevo formateador de campos de mensajes cuyos /// datos son de tipo cadena de caracteres. /// </summary> /// <param name="fieldNumber"> /// Es el número de campo del mensaje que el formateador es capaz /// de formatear. /// </param> /// <param name="lengthManager"> /// Es el objeto que administra el largo de los datos del campo. /// </param> /// <param name="encoder"> /// Es el objeto capaz de codificar/decodificar los datos del campo. /// </param> /// <param name="padding"> /// Es el objeto capaz de rellenar los datos del campo. /// </param> /// <param name="validator"> /// Es el objeto capaz de validar los datos del campo. /// </param> /// <param name="valueFormatter"> /// Es el objeto capaz de formatear/analizar los datos del campo. /// </param> /// <param name="description"> /// Es la descripción del campo. /// </param> public StringFieldFormatter(int fieldNumber, LengthManager lengthManager, IStringEncoder encoder, IStringPadding padding, IStringValidator validator, IStringFieldValueFormatter valueFormatter, string description) : base(fieldNumber, description) { if (lengthManager == null) { throw new ArgumentNullException("lengthManager"); } if (encoder == null) { throw new ArgumentNullException("encoder"); } _lengthManager = lengthManager; _encoder = encoder; _validator = validator; _valueFormatter = valueFormatter; if ((padding == null) && (lengthManager is FixedLengthManager)) { _padding = SpacePaddingRight.GetInstance(false); } else { _padding = padding; } }
/// <summary> /// Construye un nuevo formateador de cabezales de mensajes cuyos /// datos son de tipo cadena de caracteres. /// </summary> /// <param name="lengthManager"> /// Es el objeto que administra el largo de los datos del cabezal. /// </param> /// <param name="encoder"> /// Es el objeto capaz de codificar/decodificar los datos del cabezal. /// </param> /// <param name="padding"> /// Es el objeto capaz de rellenar los datos del cabezal. /// </param> public StringMessageHeaderFormatter(LengthManager lengthManager, IStringEncoder encoder, IStringPadding padding) : base() { if (lengthManager == null) { throw new ArgumentNullException("lengthManager"); } if (encoder == null) { throw new ArgumentNullException("encoder"); } _lengthManager = lengthManager; _encoder = encoder; if ((padding == null) && (lengthManager is FixedLengthManager)) { _padding = SpacePaddingRight.GetInstance(false); } else { _padding = padding; } }
public void Constructors() { // Test fixed length properties. StringMessageHeaderFormatter formatter = new StringMessageHeaderFormatter( new FixedLengthManager(12), StringEncoder.GetInstance(), SpacePaddingRight.GetInstance(false)); Assert.IsTrue(formatter.LengthManager.MaximumLength == 12); Assert.IsTrue(formatter.Encoder == StringEncoder.GetInstance()); Assert.IsTrue(formatter.Padding == SpacePaddingRight.GetInstance(false)); // Test variable length properties without padding. formatter = new StringMessageHeaderFormatter(new VariableLengthManager(1, 800, StringLengthEncoder.GetInstance(5)), StringEncoder.GetInstance()); Assert.IsTrue(formatter.LengthManager.MaximumLength == 800); Assert.IsTrue(formatter.Encoder == StringEncoder.GetInstance()); Assert.IsTrue(formatter.Padding == null); // Test variable length properties with padding. formatter = new StringMessageHeaderFormatter(new VariableLengthManager(1, 999, StringLengthEncoder.GetInstance(3)), StringEncoder.GetInstance(), SpacePaddingRight.GetInstance(false)); Assert.IsTrue(formatter.LengthManager.MaximumLength == 999); Assert.IsTrue(formatter.Encoder == StringEncoder.GetInstance()); Assert.IsTrue(formatter.Padding == SpacePaddingRight.GetInstance(false)); }
public void SetUp() { _paddingWithTruncate = SpacePaddingRight.GetInstance(true); Assert.IsNotNull(_paddingWithTruncate); _paddingWithoutTruncate = SpacePaddingRight.GetInstance(false); Assert.IsNotNull(_paddingWithoutTruncate); }
public void Constructors() { // Test fixed length properties. StringFieldFormatter formatter = new StringFieldFormatter(37, new FixedLengthManager(12), StringEncoder.GetInstance(), SpacePaddingRight.GetInstance(false), NumericValidator.GetInstance(), null, "My formatter"); Assert.IsTrue(formatter.FieldNumber == 37); Assert.IsTrue(formatter.LengthManager.MaximumLength == 12); Assert.IsTrue(formatter.Description.Equals("My formatter")); Assert.IsTrue(formatter.Encoder == StringEncoder.GetInstance()); Assert.IsTrue(formatter.Padding == SpacePaddingRight.GetInstance(false)); Assert.IsTrue(formatter.Validator == NumericValidator.GetInstance()); Assert.IsNull(formatter.ValueFormatter); // Test variable length properties without padding. formatter = new StringFieldFormatter(63, new VariableLengthManager(1, 800, StringLengthEncoder.GetInstance(5)), StringEncoder.GetInstance()); Assert.IsTrue(formatter.FieldNumber == 63); Assert.IsTrue(formatter.LengthManager.MaximumLength == 800); Assert.IsTrue(formatter.Description.Equals(string.Empty)); Assert.IsTrue(formatter.Encoder == StringEncoder.GetInstance()); Assert.IsTrue(formatter.Padding == null); Assert.IsTrue(formatter.Validator == null); // Test variable length properties with padding. formatter = new StringFieldFormatter(48, new VariableLengthManager(1, 999, StringLengthEncoder.GetInstance(3)), StringEncoder.GetInstance(), SpacePaddingRight.GetInstance(false), "My formatter"); Assert.IsTrue(formatter.FieldNumber == 48); Assert.IsTrue(formatter.LengthManager.MaximumLength == 999); Assert.IsTrue(formatter.Description.Equals("My formatter")); Assert.IsTrue(formatter.Encoder == StringEncoder.GetInstance()); Assert.IsTrue(formatter.Padding == SpacePaddingRight.GetInstance(false)); Assert.IsTrue(formatter.Validator == null); }
public void GetInstance() { Assert.IsTrue(_paddingWithTruncate == SpacePaddingRight.GetInstance(true)); Assert.IsTrue(_paddingWithoutTruncate == SpacePaddingRight.GetInstance(false)); }