Пример #1
0
        public void RolledFilesNoPosition()
        {
            string testDir = Path.Combine(BaseDir, "RolledFilesWithoutPosition");
            var    path    = Path.Combine(testDir, "aFile.txt");

            var    filePositionStoreMock = new Mock <IFilePositionStore>();
            var    fileReader            = new RollingFileReader(path, filePositionStoreMock.Object, ReadBehaviour.FromBeginning);
            string text = fileReader.ReadAllText();

            BaseLineAssert.AreEqual(Path.Combine(testDir, "expected.txt"), text);
        }
Пример #2
0
 public static string ReadAllText(this RollingFileReader reader)
 {
     using (var stream = new MemoryStream())
     {
         reader.CopyAllTextTo(stream);
         stream.Position = 0;
         using (var reader2 = new StreamReader(stream))
         {
             return(reader2.ReadToEnd());
         }
     }
 }
Пример #3
0
        public static void CopyAllTextTo(this RollingFileReader reader, MemoryStream writer)
        {
            const int bufSize = 1000;
            var       buf     = new byte[bufSize];

            var len = reader.Read(buf, 0, bufSize);

            writer.Write(buf, 0, len);
            reader.Ack();
            while (len > 0)
            {
                len = reader.Read(buf, 0, bufSize);
                writer.Write(buf, 0, len);
                reader.Ack();
            }
        }
Пример #4
0
        public void RolledFilesWithPosition()
        {
            string testDir = Path.Combine(BaseDir, "RolledFilesWithPosition");

            var path = Path.Combine(testDir, "aFile.txt");

            FilePosition position;

            using (var stream = FileUtils.OpenFileStreamForReading(Path.Combine(testDir, "_aFile.txt")))
                using (var reader = new StreamReader(stream))
                {
                    position = FilePositionSerialiser.Read(path, reader);
                }
            var filePositionStoreMock = new Mock <IFilePositionStore>();

            filePositionStoreMock.Setup(_ => _.GetPosition(path)).Returns(position);
            var    fileReader = new RollingFileReader(path, filePositionStoreMock.Object, ReadBehaviour.FromWhereLeft);
            string text       = fileReader.ReadAllText();

            BaseLineAssert.AreEqual(Path.Combine(testDir, "expected.txt"), text);
        }