コード例 #1
0
ファイル: FileWriterTest.cs プロジェクト: vishal-sharma/Beef
        public void Write_Hierarchy_Fixed()
        {
            var sb = new StringBuilder();

            using (var sw = new StringWriter(sb))
            {
                var ff     = new FixedFileFormat <HierarchyDataA>("A", 3, 2);
                var fw     = new FileWriter <HierarchyDataA>(sw, ff);
                var result = fw.Write(CreateHierarchyA());
                Assert.AreEqual(FileContentStatus.Content, result.Status);
                Assert.IsFalse(result.HasErrors);
                Assert.AreEqual(13, result.Records.Count);
                AssertFileRecord(1, "A", 0, false, result.Records[0]);
                AssertFileRecord(2, "B", 1, false, result.Records[1]);
                AssertFileRecord(3, "C", 1, false, result.Records[2]);
                AssertFileRecord(4, "D1", 2, false, result.Records[3]);
                AssertFileRecord(5, "D1", 2, false, result.Records[4]);
                AssertFileRecord(6, "D2", 2, false, result.Records[5]);
                AssertFileRecord(7, "D2", 2, false, result.Records[6]);
                AssertFileRecord(8, "D3", 2, false, result.Records[7]);
                AssertFileRecord(9, "D3", 2, false, result.Records[8]);
                AssertFileRecord(10, "E", 2, false, result.Records[9]);
                AssertFileRecord(11, "F", 1, false, result.Records[10]);
                AssertFileRecord(12, "G", 2, false, result.Records[11]);
                AssertFileRecord(13, "H", 3, false, result.Records[12]);

                result = fw.EndOfFile();
                Assert.AreEqual(FileContentStatus.EndOfFile, result.Status);
                Assert.IsFalse(result.HasErrors);
                Assert.AreEqual("001A \r\n002B \r\n003C \r\n004D1\r\n005D1\r\n006D2\r\n007D2\r\n008D3\r\n009D3\r\n010E \r\n011F \r\n012G \r\n013H \r\n", sb.ToString());
            }
        }
コード例 #2
0
        public void Prop_PaddingChar()
        {
            var fff = new FixedFileFormat <Person>();

            Assert.AreEqual(FileFormatBase.SpaceCharacter, fff.PaddingChar);
            fff.PaddingChar = '*';
            Assert.AreEqual('*', fff.PaddingChar);
        }
コード例 #3
0
        public void Execute_StringTrimTransform_FixedFormat()
        {
            // Column separators:             <         <         <
            using (var sr = new StringReader(" ABC       ABC      "))
            {
                var ff = new FixedFileFormat <Data>();
                var fr = new FileReader <Data>(sr, ff);

                var result = fr.Read();
                Assert.IsNotNull(result);
                Assert.AreEqual(FileContentStatus.Content, result.Status);
                Assert.IsFalse(result.HasErrors);

                var val = (Data)result.Value;
                Assert.AreEqual(" ABC", val.Col1);
                Assert.AreEqual(" ABC      ", val.Col2);
                Assert.AreEqual(string.Empty, val.Col3);
            }
        }
コード例 #4
0
ファイル: FileWriterTest.cs プロジェクト: vishal-sharma/Beef
        public void Write_NoHierarchy_Fixed()
        {
            var sb = new StringBuilder();

            using (var sw = new StringWriter(sb))
            {
                var ff     = new FixedFileFormat <Data>();
                var fw     = new FileWriter <Data>(sw, ff);
                var result = fw.Write(new Data {
                    Col1 = "A", Col2 = "BB", Col3 = "CCC"
                });
                Assert.AreEqual(FileContentStatus.Content, result.Status);
                Assert.IsFalse(result.HasErrors);
                result = fw.EndOfFile();
                Assert.AreEqual(FileContentStatus.EndOfFile, result.Status);
                Assert.IsFalse(result.HasErrors);
                Assert.AreEqual("A         BB        CCC       \r\n", sb.ToString());
            }
        }
コード例 #5
0
        public void Ctor_Hierarchy_ContentValidator()
        {
            var fff = new FixedFileFormat <Person>("X", 0, 1, PersonValidator.Default);

            Assert.AreEqual(0, fff.HierarchyColumnPosition);
            Assert.AreEqual(1, fff.HierarchyColumnLength);
            Assert.AreEqual(FileFormatBase.SpaceCharacter, fff.PaddingChar);

            // FileFormat base configuration.
            Assert.AreEqual(FileValidation.Unspecified, fff.FileValidation);
            Assert.IsTrue(fff.IsHierarchical);
            Assert.AreEqual(typeof(Person), fff.ContentRowType);
            Assert.AreEqual("X", fff.ContentRecordIdentifier);
            Assert.AreSame(PersonValidator.Default, fff.ContentValidator);
            Assert.IsNull(fff.HeaderRowType);
            Assert.IsNull(fff.HeaderRecordIdentifier);
            Assert.IsNull(fff.HeaderValidator);
            Assert.IsNull(fff.TrailerRowType);
            Assert.IsNull(fff.TrailerRecordIdentifier);
            Assert.IsNull(fff.TrailerValidator);
            Assert.AreEqual(StringTransform.EmptyToNull, fff.StringTransform);
            Assert.AreEqual(StringTrim.End, fff.StringTrim);
        }