public void FilterProperty()
 {
     string testValue = "testValue";
     var testInstance = new BizUnitFlatfileCompareConfiguration();
     testInstance.Filter = testValue;
     Assert.AreEqual(testValue, testInstance.Filter);
 }
 public void DeleteFileProperty()
 {
     const bool testValue = false;
     var testInstance = new BizUnitFlatfileCompareConfiguration();
     testInstance.DeleteFile = false;
     Assert.AreEqual(testValue, testInstance.DeleteFile);
 }
Пример #3
0
        public void GetFoundFileDirectoryNotFoundException()
        {
            var context = new Context();
            var configuration = new BizUnitFlatfileCompareConfiguration();

            configuration.SearchDirectory = @"c:\thisFolderShouldnotExist";
            configuration.Filter = "*.should.not.be.found";
            configuration.Timeout = 1000;
            Assert.Throws<DirectoryNotFoundException>(delegate { BizUnitCompare.BizUnitCompare.GetFoundFilePath(context, configuration); });
        }
 public void ExclusionProperty()
 {
     var testList = new List<Exclusion>();
     var testValue = new Exclusion();
     var testExclusionPositions = new ExclusionPositions();
     testExclusionPositions.StartPosition = 10;
     testExclusionPositions.EndPosition = 20;
     testValue.ExclusionPositions.Add(testExclusionPositions);
     testList.Add(testValue);
     var testInstance = new BizUnitFlatfileCompareConfiguration();
     testInstance.Exclusions = testList;
     Assert.AreEqual(10, testInstance.Exclusions[0].ExclusionPositions[0].StartPosition);
     Assert.AreEqual(20, testInstance.Exclusions[0].ExclusionPositions[0].EndPosition);
 }
Пример #5
0
        public void GetFoundFileLockedFile()
        {
            var context = new Context();
            var configuration = new BizUnitFlatfileCompareConfiguration();

            configuration.SearchDirectory = Directory.GetCurrentDirectory();
            configuration.Filter = "*.test";
            configuration.Timeout = 1000;

            string fileToCreatePath = Directory.GetCurrentDirectory() + @"\test.test";

            FileStream fileStream = PrepareFileSystem(configuration, fileToCreatePath);
            Assert.Throws<FileNotFoundException>(delegate { BizUnitCompare.BizUnitCompare.GetFoundFilePath(context, configuration); });
            fileStream.Dispose();
        }
Пример #6
0
        public void GetFoundFileFindFile()
        {
            var context = new Context();
            var configuration = new BizUnitFlatfileCompareConfiguration();

            configuration.SearchDirectory = Directory.GetCurrentDirectory();
            configuration.Filter = "*.test";
            configuration.Timeout = 1000;

            string fileToCreatePath = Directory.GetCurrentDirectory() + @"\test.test";

            FileStream fileStream = PrepareFileSystem(configuration, fileToCreatePath);
            fileStream.Dispose();

            string foundFile = BizUnitCompare.BizUnitCompare.GetFoundFilePath(context, configuration);
            Assert.AreEqual(fileToCreatePath, foundFile);
        }
Пример #7
0
        public void Execute(XmlNode testConfig, Context context)
        {
            var configuration = new BizUnitFlatfileCompareConfiguration(testConfig, context);

            string foundFilePath = BizUnitCompare.GetFoundFilePath(context, configuration);

            using (MemoryStream cleanedFoundData = FlatfileCleaner.RemoveExclusions(foundFilePath, configuration.Exclusions))
            {
                using (MemoryStream cleanedGoalData = FlatfileCleaner.RemoveExclusions(configuration.GoalFilePath, configuration.Exclusions))
                {
                    // just to be sure.
                    cleanedFoundData.Seek(0, SeekOrigin.Begin);
                    cleanedGoalData.Seek(0, SeekOrigin.Begin);

                    if (cleanedFoundData.Length != cleanedGoalData.Length)
                    {
                        throw new ApplicationException(string.Format(CultureInfo.CurrentCulture, "Flatfile comparison failed (different length) between {0} and {1}.", foundFilePath, configuration.GoalFilePath));
                    }

                    try
                    {
                        do
                        {
                            int foundByte = cleanedFoundData.ReadByte();
                            int goalByte = cleanedGoalData.ReadByte();
                            if (foundByte != goalByte)
                            {
                                throw new ApplicationException(string.Format(CultureInfo.CurrentCulture, "Flatfile comparison failed at offset {2} between {0} and {1}.", foundFilePath, configuration.GoalFilePath, cleanedFoundData.Position - 1));
                            }
                        } while (!(cleanedFoundData.Position >= cleanedFoundData.Length));
                        context.LogInfo("Files are identical.");
                    }
                    finally
                    {
                        if (!string.IsNullOrEmpty(foundFilePath) && configuration.DeleteFile)
                        {
                            File.Delete(foundFilePath);
                            context.LogInfo(string.Format(CultureInfo.CurrentCulture, "Found file ({0}) deleted.", foundFilePath));
                        }
                    }
                }
            }
        }
Пример #8
0
 private static FileStream PrepareFileSystem(BizUnitFlatfileCompareConfiguration configuration, string fileToCreatePath)
 {
     CleanFileSystem(configuration);
     return File.Create(fileToCreatePath);
 }
Пример #9
0
 private static void CleanFileSystem(BizUnitFlatfileCompareConfiguration configuration)
 {
     foreach (string filePath in Directory.GetFiles(configuration.SearchDirectory, configuration.Filter))
     {
         File.Delete(filePath);
     }
 }
Пример #10
0
        public void GetFoundFileTimeout()
        {
            var context = new Context();
            var configuration = new BizUnitFlatfileCompareConfiguration();

            configuration.SearchDirectory = @"c:\";
            configuration.Filter = "*.should.not.be.found";
            configuration.Timeout = 1000;

            var stopwatch = new Stopwatch();
            try
            {
                stopwatch.Start();
                BizUnitCompare.BizUnitCompare.GetFoundFilePath(context, configuration);
                stopwatch.Stop();
            }
            // ReSharper disable EmptyGeneralCatchClause
            catch (Exception)
            // ReSharper restore EmptyGeneralCatchClause
            {
            }
            long millisecondsPassed = stopwatch.ElapsedMilliseconds;

            Assert.GreaterOrEqual(millisecondsPassed, configuration.Timeout);
            Assert.LessOrEqual(millisecondsPassed, configuration.Timeout + 120); // 120 is added since the thread sleep is set to 100 ms, 20 ms for added execution time
        }
 public void TimeoutProperty()
 {
     uint testValue = 10000;
     var testInstance = new BizUnitFlatfileCompareConfiguration();
     testInstance.Timeout = testValue;
     Assert.AreEqual(testValue, testInstance.Timeout);
 }
        public void Load()
        {
            var testInstance = new BizUnitFlatfileCompareConfiguration(_configPart, _context);

            Assert.AreEqual(_context.GetValue("searchDirectory"), testInstance.SearchDirectory);
            Assert.AreEqual(bool.Parse(_context.GetValue("deleteFile")), testInstance.DeleteFile);
            Assert.AreEqual(_context.GetValue("goalFile"), testInstance.GoalFilePath);
            Assert.AreEqual(_context.GetValue("filter"), testInstance.Filter);
            Assert.AreEqual(1, testInstance.Exclusions.Count);
            Assert.AreEqual(3, testInstance.Exclusions[0].ExclusionPositions.Count);
            Assert.AreEqual("this", testInstance.Exclusions[0].RowIdentifyingRegularExpression);
            Assert.AreEqual(5, testInstance.Exclusions[0].ExclusionPositions[0].StartPosition);
            Assert.AreEqual(5, testInstance.Exclusions[0].ExclusionPositions[0].EndPosition);
            Assert.AreEqual(8, testInstance.Exclusions[0].ExclusionPositions[1].StartPosition);
            Assert.AreEqual(8, testInstance.Exclusions[0].ExclusionPositions[1].EndPosition);
            Assert.AreEqual(12, testInstance.Exclusions[0].ExclusionPositions[2].StartPosition);
            Assert.AreEqual(12, testInstance.Exclusions[0].ExclusionPositions[2].EndPosition);
        }
 public void GoalFilePathProperty()
 {
     string testValue = "testValue";
     var testInstance = new BizUnitFlatfileCompareConfiguration();
     testInstance.GoalFilePath = testValue;
     Assert.AreEqual(testValue, testInstance.GoalFilePath);
 }
        public void Constructor()
        {
            var testInstance = new BizUnitFlatfileCompareConfiguration();

            Assert.IsNotNull(testInstance.Exclusions);
        }
Пример #15
0
        public void GetFoundFilePathArgumentException()
        {
            var context = new Context();
            var configuration = new BizUnitFlatfileCompareConfiguration();

            configuration.SearchDirectory = @"";
            configuration.Filter = "*.should.not.be.found";
            configuration.Timeout = 1000;
            Assert.Throws<ArgumentException>(delegate { BizUnitCompare.BizUnitCompare.GetFoundFilePath(context, configuration); });
            Assert.Throws<ArgumentNullException>(delegate { BizUnitCompare.BizUnitCompare.GetFoundFilePath(context, null); });
            Assert.Throws<ArgumentNullException>(delegate { BizUnitCompare.BizUnitCompare.GetFoundFilePath(null, configuration); });
            Assert.Throws<ArgumentNullException>(delegate { BizUnitCompare.BizUnitCompare.GetFoundFilePath(null, null); });
        }
Пример #16
0
        public void GetFoundFilePathFileNotFound()
        {
            var context = new Context();
            var configuration = new BizUnitFlatfileCompareConfiguration();

            configuration.SearchDirectory = Directory.GetCurrentDirectory();
            configuration.Filter = "*.should.not.be.found";
            configuration.Timeout = 200;
            Assert.Throws<FileNotFoundException>(delegate { BizUnitCompare.BizUnitCompare.GetFoundFilePath(context, configuration); });
        }
 public void SearchDirectoryProperty()
 {
     string testValue = "testValue";
     var testInstance = new BizUnitFlatfileCompareConfiguration();
     testInstance.SearchDirectory = testValue;
     Assert.AreEqual(testValue, testInstance.SearchDirectory);
 }