public void Exporters_DatExporter_FromOptTest()
        {
            // Arrange
            var mockReader = new Mock <TextReader>();
            var mockWriter = new Mock <TextWriter>();
            int calls      = 0;

            mockReader
            .Setup(r => r.ReadLine())
            .Returns(() => lfpLines[calls])
            .Callback(() => calls++);
            List <string> output = new List <string>();

            mockWriter
            .Setup(r => r.WriteLine(It.IsAny <string>()))
            .Callback((string s) => output.Add(s));
            FileInfo    infile = new FileInfo(@"X:\VOL001\infile.lfp");
            TextBuilder rep    = new TextBuilder(
                TextBuilder.TextLevel.None,
                TextBuilder.TextLocation.None,
                null, null);
            var     builder = new LfpBuilder();
            IParser parser  = new LfpParser();

            builder.PathPrefix  = String.Empty;
            builder.TextBuilder = rep;

            // act
            List <string[]>    records   = parser.Parse(mockReader.Object);
            List <Document>    documents = builder.Build(records);
            DocumentCollection docs      = new DocumentCollection(documents);

            string[] fields   = new string[] { "DocID", "Page Count", "Volume Name" };
            var      exporter = DatExporter.Builder
                                .Start(mockWriter.Object, fields)
                                .SetDelimiters(Delimiters.COMMA_DELIMITED)
                                .Build();

            exporter.Export(docs);

            // assert
            Assert.AreEqual("DocID,Page Count,Volume Name", output[0]);
            Assert.AreEqual("000000001,3,001", output[1]);
        }
Example #2
0
        public void Exporters_LfpExporter_FromLfpMultiTest()
        {
            // Arrange
            var mockReader = new Mock <TextReader>();
            var mockWriter = new Mock <TextWriter>();
            int calls      = 0;

            mockReader
            .Setup(r => r.ReadLine())
            .Returns(() => lfpMultiLines[calls])
            .Callback(() => calls++);
            List <string> output = new List <string>();

            mockWriter
            .Setup(r => r.WriteLine(It.IsAny <string>()))
            .Callback((string s) => output.Add(s));
            FileInfo    infile = new FileInfo(@"X:\VOL001\infile.lfp");
            string      vol    = "TEST001";
            TextBuilder rep    = new TextBuilder(
                TextBuilder.TextLevel.None,
                TextBuilder.TextLocation.None,
                null, null);
            var     builder = new LfpBuilder();
            IParser parser  = new LfpParser();

            builder.PathPrefix  = String.Empty;
            builder.TextBuilder = rep;

            // act
            List <string[]>    records   = parser.Parse(mockReader.Object);
            List <Document>    documents = builder.Build(records);
            DocumentCollection docs      = new DocumentCollection(documents);
            var exporter = LfpExporter.Builder
                           .Start(mockWriter.Object)
                           .SetVolumeName(vol)
                           .Build();

            exporter.Export(docs);

            // assert
            Assert.AreEqual("IM,000000001,D,1,@TEST001;IMG_0001;000000001.pdf;7,0", output[0]);
            Assert.AreEqual("IM,000000002,,2,@TEST001;IMG_0001;000000001.pdf;7,0", output[1]);
            Assert.AreEqual("IM,000000003,,3,@TEST001;IMG_0001;000000001.pdf;7,0", output[2]);
        }
Example #3
0
        public void Importers_LfpImporter_Test()
        {
            // arrange
            FileInfo infile   = new FileInfo(@"X:\VOL001\infile.lfp");
            Encoding encoding = Encoding.GetEncoding(1252);

            TextBuilder.TextLevel    textLevel    = TextBuilder.TextLevel.None;
            TextBuilder.TextLocation textLocation = TextBuilder.TextLocation.None;
            string      pattern    = String.Empty;
            Regex       find       = new Regex(pattern);
            string      replace    = String.Empty;
            TextBuilder repSetting = new TextBuilder(textLevel, textLocation, find, replace);
            var         builder    = new LfpBuilder();

            builder.PathPrefix  = infile.Directory.FullName;
            builder.TextBuilder = repSetting;
            var mockParser = new Mock <LfpParser>(MockBehavior.Strict);

            mockParser.Setup(p => p.Parse(It.IsAny <TextReader>())).Returns(records);
            mockParser.Setup(p => p.Parse(It.IsAny <FileInfo>(), It.IsAny <Encoding>())).Returns(records);
            importer         = new LfpImporter();
            importer.Parser  = mockParser.Object;
            importer.Builder = builder;

            // act
            DocumentCollection docs = importer.Import(infile, encoding);

            // assert
            Assert.AreEqual(10, docs.Count);
            Assert.AreEqual(25, docs.ImageCount);
            Assert.AreEqual(0, docs.TextCount);
            Assert.AreEqual(1, docs.NativeCount);
            Assert.AreEqual(3, docs.ParentCount);
            Assert.AreEqual(5, docs.ChildCount);
            Assert.AreEqual(2, docs.StandAloneCount);
        }