public void TestFindMissingIntMissingFoundLargeFile() { // Warning: Running this test will create a 4 GB file on your system during the test. // Disable the next line to enable the test. Assert.Inconclusive(); // Initialize file size. // This is larger than the maximum number of possible positive integers so is a reasonable // test of a large file. long fileSizeInts = 1024 * 1024 * 1024; // 4 GB (~1 billion integers) // Initialize test values. int exclusionNumber = 15465; int bufferSizeBytes = 1024 * 1024 * 1024; // Maximum 1 GB of space. // Write the file. string fileName = FileHelpers.WriteFileOfInts(fileSizeInts, exclusionValue: exclusionNumber); // Do test. try { Assert.AreEqual(exclusionNumber, ArrayFindMissingInt1Complete.FindMissingInt(fileName, bufferSizeBytes)); } finally { // Delete the file. File.Delete(fileName); } }
public void TestFindMissingIntMissingFoundVeryLargeFile() { // Warning: Running this test will create a 16 GB file on your system during the test. // Disable the next line to enable the test. Assert.Inconclusive(); // Warning: Enabling this line will create a 16 GB file. long fileSizeInts = 1024L * 1024 * 1024 * 4; // 16 GB (~4 billion integers) // Initialize test values. int exclusionNumber = 15465; int bufferSizeBytes = 1024 * 1024 * 1024; // Maximum 1 GB of space. // Write the file. string fileName = FileHelpers.WriteFileOfInts(fileSizeInts, exclusionValue: exclusionNumber, fileName: @"C:\Temp\VeryLarge.bin"); // Do test. try { Assert.AreEqual(exclusionNumber, ArrayFindMissingInt1Complete.FindMissingInt(fileName, bufferSizeBytes)); } finally { // Delete the file. File.Delete(fileName); } }
public void TestFindMissingIntErrorBufferTooSmall() { // Initialize test data. var test = new[] { 0, 2, 3, 7, 6, 4, 1, 5, 8, 9 }; // Write the file. string fileName = FileHelpers.WriteFileFromBuffer(test); // Do test. try { ArrayFindMissingInt1Complete.FindMissingInt(fileName, 1, 0, 9); } catch (ArgumentException) { Assert.IsTrue(true); return; } finally { // Delete the file. File.Delete(fileName); } Assert.Fail(); }
public void TestFindMissingIntMissingNotFoundBufferMatchEvenBytes() { // Initialize test data. var test = new[] { 0, 2, 3, 7, 6, 4, 1, 5 }; // Write the file. string fileName = FileHelpers.WriteFileFromBuffer(test); // Do test. Assert.AreEqual(-1, ArrayFindMissingInt1Complete.FindMissingInt(fileName, 1, 0, 7)); // Delete the file. File.Delete(fileName); }
public void TestFindMissingIntMissingNotFoundMediumFile() { // Initialize test values. int fileSizeInts = 1024 * 1024 * 4; // 16 MB (~ 4 million integers). int bufferSizeBytes = 1024 * 1024; // 1 MB // Write the file. string fileName = FileHelpers.WriteFileOfInts(fileSizeInts, maxValue: int.MaxValue / 1024); // Do test. Assert.AreEqual(-1, ArrayFindMissingInt1Complete.FindMissingInt(fileName, bufferSizeBytes, 0, int.MaxValue / 1024)); // Delete the file. File.Delete(fileName); }