public void Test2804() { var file = TestFramework.CreateInputFile(_fileName); var dataReader = TestFramework.CreateDataReader(file); var scanContext = TestFramework.CreateScanContext(_project); //File begins with VOPs IDataBlock vopBlock; IDataBlockBuilder vopBuilder; Assert.IsTrue(GetNextDataBlock(file, dataReader, scanContext, out vopBlock, out vopBuilder)); Assert.IsNotNull(vopBlock); Assert.AreEqual(vopBlock.EndOffset, dataReader.Position); Assert.AreEqual(file.Length, dataReader.Length); //Next valid datablock is a VOL IDataBlock volBlock; IDataBlockBuilder volBuilder; Assert.IsTrue(GetNextDataBlock(file, dataReader, scanContext, out volBlock, out volBuilder)); Assert.IsNotNull(volBlock); Assert.IsNotNull(volBuilder); IResultNode volResult = scanContext.Results; Assert.IsNotNull(volResult); var expectedVol = volResult.GetLastDescendant(); Assert.AreEqual("VideoObjectLayer", expectedVol.Name); }
public void TestConstructorDefaultFormat() { using (IDataReader dataReader = new MockDataReader(new byte[DataFileLength], _inputFile)) { IDetector detector = new UnknownFormatDetector(); IScanContext scanContext = TestFramework.CreateScanContext(_project); scanContext.Detectors = new[] { detector }; IDataBlockBuilder builder = TestFramework.CreateDataBlockBuilder(); builder.Detectors = scanContext.Detectors; builder.InputFile = _inputFile; IDataBlock dataBlock = detector.DetectData(dataReader, builder, scanContext); Assert.IsNotNull(dataBlock); IResultNode results = scanContext.Results; Assert.IsNotNull(results); Assert.GreaterOrEqual(results.Children.Count, 1); Assert.AreEqual(0, results.Children[0].Attributes.Count); } }
public void TestDetectData() { using (IDataReader dataReader = new MockDataReader(new byte[DataFileLength], _inputFile)) { IScanContext scanContext = TestFramework.CreateScanContext(_project); scanContext.Detectors = new[] { _detector }; IDataBlockBuilder builder = TestFramework.CreateDataBlockBuilder(); builder.Detectors = scanContext.Detectors; builder.InputFile = _inputFile; IDataBlock dataBlock = _detector.DetectData(dataReader, builder, scanContext); Assert.IsNotNull(dataBlock, "Unknown format detector (DetectData not null)"); IResultNode results = scanContext.Results; Assert.IsNotNull(results, "Unknown format detector (Results not null)"); Assert.AreEqual(_detector, dataBlock.Detectors.First(), "Detector of data block"); Assert.AreEqual(1, results.Children.Count, "One child 'Data'"); IResultNode data = results.Children[0]; Assert.IsEmpty((ICollection)data.Children, "Data has no children"); Assert.AreEqual(0, data.StartOffset, ""); Assert.AreEqual(DataFileLength, data.Length, ""); Assert.IsFalse(data.IsFragmented(), "Single fragment"); Assert.AreEqual(_inputFile, data.InputFile, "Input file"); Assert.IsFalse(dataBlock.IsFullFile, "Does not produce full files"); } }