public void TestFixtureSetup() { // Create temporary directory Uri codeBaseUri = new Uri(Assembly.GetExecutingAssembly().CodeBase); DirectoryInfo debugDirectory = (new FileInfo(codeBaseUri.LocalPath)).Directory; const string TestFrameworkFiles = "TestFrameworkFiles"; if (Directory.Exists(debugDirectory + "\\" + TestFrameworkFiles)) { Directory.Delete(debugDirectory + "\\" + TestFrameworkFiles, true); } _testFilesDirectory = debugDirectory.CreateSubdirectory(TestFrameworkFiles); FileInfo testFile = new FileInfo(_testFilesDirectory.FullName + "/allfiles.dat"); FileInfo testProjectFile = new FileInfo(_testFilesDirectory.FullName + "/allfiles.dpr"); // Create input file and project _testProject = TestFramework.ProjectManager.CreateProject(testProjectFile.FullName, "S. Holmes", DateTime.Now, "Scan all files"); // Locate detectors TestFramework.DetectorFactory.Initialize("."); IDetector[] containerDetectors = new IDetector[] { Util.FindDetector(TestFramework.DetectorFactory.ContainerDetectors, "MPEG-1/2 Systems"), Util.FindDetector(TestFramework.DetectorFactory.ContainerDetectors, "3GPP/QT/MP4") }; IDetector[] codecDetectors = new IDetector[] { Util.FindDetector(TestFramework.DetectorFactory.CodecDetectors, Mpeg2VideoDetector.DetectorName), Util.FindDetector(TestFramework.DetectorFactory.CodecDetectors, "MPEG-4") }; // Append test files, create desired data blocks DirectoryInfo testDataDirectory = new DirectoryInfo(Util.TestdataPath); using (FileStream testFileStream = testFile.OpenWrite()) { long offset = 0; DesiredDataBlocks = new List <IDataBlock>(); for (int i = 0; i < TestFileNames.GetLength(0); i++) { // Copy file byte[] b = File.ReadAllBytes(testDataDirectory.FullName + "/" + TestFileNames[i, 1]); testFileStream.Write(b, 0, b.Length); if (TestFileNames[i, 0] != null) { IDetector detector = Util.FindDetector(TestFramework.DetectorFactory.Detectors, TestFileNames[i, 0]); IDataBlock dataBlock = TestFramework.CreateDataBlock(detector, TestFramework.CreateDataPacket(_testFile, offset, b.Length), true, null); DesiredDataBlocks.Add(dataBlock); } else if (i == 3) { // Partial detection: File is split in 2 blocks IDetector detector = Util.FindDetector(TestFramework.DetectorFactory.Detectors, "MPEG-1/2 Systems"); DesiredDataBlocks.Add(TestFramework.CreateDataBlock(detector, TestFramework.CreateDataPacket(_testFile, offset, 30), false, null)); DesiredDataBlocks.Add(TestFramework.CreateDataBlock(detector, TestFramework.CreateDataPacket(_testFile, offset + b.Length - 16, 16), false, null)); } offset += b.Length; // Add zero padding testFileStream.Write(new byte[256], 0, 256); offset += 256; } } bool isFullFile = DesiredDataBlocks[0].IsFullFile; DesiredDataBlocks[0] = TestFramework.CreateDataBlock(DesiredDataBlocks[0].Detectors.First(), TestFramework.CreateDataPacket(DesiredDataBlocks[0].InputFile, DesiredDataBlocks[0].StartOffset, DesiredDataBlocks[0].Length - 20), isFullFile, null); _testFile = TestFramework.DetectData(containerDetectors, codecDetectors, _testProject, testFile.FullName); }
public void TestReaderGetResultsDataBlockUnknown() { IDataPacket data = TestFramework.CreateDataPacket(TestFramework.CreateInputFile("ja"), 31337, 1); IDataBlock dataBlock = TestFramework.CreateDataBlock(TestFramework.DetectorFactory.Detectors[0], data, false, null); IResultNode results = TestFramework.GetResults(dataBlock); // TODO: _project?? }