public void test() { var testFilePath = "D:\\TestFile.txt"; var sortingParameters = new SortingParameters() { NumberOfTemporaryFiles = 2 }; var fileParameters = new FileParameters() { BlockSize = 8, SourceFileName = testFilePath, TemporaryBufferFileDirectory = "D:\\", Separator = " " }; var sorter = new PolyPhaseSorting(sortingParameters, fileParameters); sorter.Distribution.Distribute(); sorter.Merger.Merge(); sorter.RestoreOriginalFileName(); var actualFileContent = File.ReadAllText(testFilePath); Assert.IsTrue(true); Console.WriteLine("Statistics:\nRead accesses:\t{0}\nWrite acesses:\t{1}\nSteps:\t{2}", sorter.ReadAccesses, sorter.WriteAccesses, sorter.Steps); File.Delete(testFilePath); }
public void sortAlreadySortedfile() { var testFilePath = "D:\\FileToSort.txt"; var unsortedFileLinesArray = new string[] { "1", "2", "3", "4", "5" }; var sortedFileContent = string.Join(Environment.NewLine, unsortedFileLinesArray) + Environment.NewLine; File.WriteAllText(testFilePath, string.Join(Environment.NewLine, unsortedFileLinesArray) + Environment.NewLine); var sortingParameters = new SortingParameters() { NumberOfTemporaryFiles = 2 }; var fileParameters = new FileParameters() { BlockSize = 4, SourceFileName = testFilePath, TemporaryBufferFileDirectory = "D:\\", Separator = " " }; var sorter = new PolyPhaseSorting(sortingParameters, fileParameters); sorter.Distribution.Distribute(); sorter.Merger.Merge(); sorter.RestoreOriginalFileName(); var actualFileContent = File.ReadAllText(testFilePath); Assert.AreEqual(sortedFileContent, actualFileContent); Console.WriteLine("Statistics:\nRead accesses:\t{0}\nWrite acesses:\t{1}\nSteps:\t{2}", sorter.ReadAccesses, sorter.WriteAccesses, sorter.Steps); File.Delete(testFilePath); }
private void createNewSorter() { TextBox_FileToSort.Text = filePath; linesIfChoosenFile = Utilities.getNumberOfLinesInFile(filePath); var fileParameters = new FileParameters() { BlockSize = int.Parse(TextBox_BlockSize.Text), Separator = " ", SourceFileName = filePath, TemporaryBufferFileDirectory = TextBox_BufferLocation.Text }; var sortingParameters = new SortingParameters() { NumberOfTemporaryFiles = int.Parse(TextBox_NumberOfTemporaryBuffers.Text) }; Sorter = new PolyPhaseSorting(sortingParameters, fileParameters); Sorter.Distribution.Distribute(); }