Exemple #1
0
        public void Format()
        {
            FormatterContext formatterContext = new FormatterContext(
                FormatterContext.DefaultBufferSize);
            StringMessageHeader          header = new StringMessageHeader("DATA");
            StringMessageHeaderFormatter formatter;
            string formattedData;

            // Test fixed length formatting.
            formatter = new StringMessageHeaderFormatter(
                new FixedLengthManager(12), StringEncoder.GetInstance());
            formatter.Format(header, ref formatterContext);
            formattedData = formatterContext.GetDataAsString();
            Assert.IsTrue(formattedData.Equals("DATA        "));
            formatterContext.Clear();
            formatter.Format(null, ref formatterContext);
            formattedData = formatterContext.GetDataAsString();
            Assert.IsTrue(formattedData.Equals("            "));

            // Test variable length formatting without padding.
            formatterContext.Clear();
            formatter = new StringMessageHeaderFormatter(new VariableLengthManager(0,
                                                                                   999, StringLengthEncoder.GetInstance(999)),
                                                         StringEncoder.GetInstance());
            formatter.Format(header, ref formatterContext);
            formattedData = formatterContext.GetDataAsString();
            Assert.IsTrue(formattedData.Equals("004DATA"));
            formatterContext.Clear();
            formatter.Format(null, ref formatterContext);
            formattedData = formatterContext.GetDataAsString();
            Assert.IsTrue(formattedData.Equals("000"));

            // Test variable length formatting with padding.
            formatterContext.Clear();
            formatter = new StringMessageHeaderFormatter(new VariableLengthManager(10,
                                                                                   10, StringLengthEncoder.GetInstance(10)),
                                                         StringEncoder.GetInstance(), SpacePaddingLeft.GetInstance(false));
            formatter.Format(header, ref formatterContext);
            formattedData = formatterContext.GetDataAsString();
            Assert.IsTrue(formattedData.Equals("10      DATA"));
        }