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); }
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); }
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(); }
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); }
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)); } } } } }
private static FileStream PrepareFileSystem(BizUnitFlatfileCompareConfiguration configuration, string fileToCreatePath) { CleanFileSystem(configuration); return File.Create(fileToCreatePath); }
private static void CleanFileSystem(BizUnitFlatfileCompareConfiguration configuration) { foreach (string filePath in Directory.GetFiles(configuration.SearchDirectory, configuration.Filter)) { File.Delete(filePath); } }
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); }
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); }); }
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); }