예제 #1
0
        public void CountBadPath()
        {
            var fc    = new LineCounter();
            var model = new FileEvent(FileEventType.Create, new FileEntry("r:\\no way that this file is really there.txt"));
            LineCountProgress result = fc.Count(model);

            Assert.AreEqual(result.Status, LineCountStatus.FileNotFound);
        }
예제 #2
0
        public void CountZeroLengthFile()
        {
            const string Test_0 = "Test_0.txt";

            if (!File.Exists(Test_0))
            {
                var ff = new FileFiller();
                ff.FillFile(Test_0, 0, -2);
            }
            var fc    = new LineCounter();
            var model = new FileEvent(FileEventType.Create, new FileEntry(Test_0));
            LineCountProgress result = fc.Count(model);

            Assert.AreEqual(result.Status, LineCountStatus.Success);
            Assert.AreEqual(0, result.Count);
        }
예제 #3
0
        public void CountLockedFile()
        {
            const string Test_Locked = "Test_Locked.txt";

            if (!File.Exists(Test_Locked))
            {
                var ff = new FileFiller();
                ff.FillFile(Test_Locked, 10, -2);
            }

            var x = Task.Run(() => LockFile(Test_Locked, seconds: 30));

            Thread.Sleep(1000); // give it time to open and lock the file
            var fc    = new LineCounter();
            var model = new FileEvent(FileEventType.Create, new FileEntry(Test_Locked));
            LineCountProgress result = fc.Count(model);

            Assert.AreEqual(result.Status, LineCountStatus.TimedOut);

            x.Wait();
        }