using skyscraper5; using skyscraper5.Docsis.AnnexC; using skyscraper5.Docsis.MacManagement; using skyscraper5.Mpeg2; using skyscraper5.Skyscraper.Scraper; using skyscraper5.Skyscraper.Scraper.Storage; using skyscraper5.Skyscraper.Scraper.Storage.Filesystem; using skyscraper5.Skyscraper.Scraper.Storage.InMemory; using skyscraper8.Skyscraper.IO; using skyscraper8.Tests.Properties; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Net.NetworkInformation; using System.Text; using System.Threading.Tasks; using Xunit.Sdk; namespace skyscraper8.Tests { public class DocsisTests { [Fact] public void TestLongBoiSingleStreams() { DirectoryInfo di = new DirectoryInfo("D:\\DocsisDemo"); Skip.If(!di.Exists, "Files not available."); FilesystemScraperStorageFactory storageFactory = new FilesystemScraperStorageFactory(); storageFactory.Directory = "docsis_longboi"; Passing passing = new Passing(); passing.ScraperStorage = storageFactory.CreateScraperStroage(); passing.MassImportDirectory(di); } [Fact] public void TestM3u8Stream() { FileInfo docsisM3u8 = new FileInfo("D:\\DocsisDemo\\docsis.m3u8"); Skip.If(!docsisM3u8.Exists, "Index file not available."); FileInfo alreadyTested = new FileInfo("docsis_m3u8_test.complete"); if (alreadyTested.Exists) { Debug.WriteLine("Hello!"); return; } M3U8Stream m3u8 = new M3U8Stream(docsisM3u8.FullName); TsContext tsContext = new TsContext(); InMemoryScraperStorageFactory storageFactory = new InMemoryScraperStorageFactory(); IScraperStroage scraperStorage = storageFactory.CreateScraperStroage(); SkyscraperContext skyscraperContext = new SkyscraperContext(tsContext, null, scraperStorage); skyscraperContext.InitalizeFilterChain(); skyscraperContext.IngestFromStream(m3u8); File.WriteAllText("docsis_m3u8_test.complete", "1"); } [Fact] public void AAA_ModemCapabilitiesEncodingTest() { byte[] buffer = Resources.ModemCapabilitiesEncodingTest; ModemCapabilitiesEncoding modemCapabilitiesEncoding = new ModemCapabilitiesEncoding(buffer); Assert.True(modemCapabilitiesEncoding.Valid); } [Fact] public void AAB_MultipartRegistrationResponseTest() { Random rng = new Random(); byte[] sourceBuffer = new byte[6]; rng.NextBytes(sourceBuffer); PhysicalAddress source = new PhysicalAddress(sourceBuffer); byte[] targetBuffer = new byte[6]; rng.NextBytes(targetBuffer); PhysicalAddress target = new PhysicalAddress(targetBuffer); byte[] buffer = Properties.Resources.MultipartRegistrationResponseTest; T45_V4_MultipartRegistrationResponse test = new T45_V4_MultipartRegistrationResponse(source, target, buffer); Assert.True(test.Valid); } } }