Ejemplo n.º 1
0
        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");
     }
 }