public void ScrapeThrowMovesForCharacter(WebCharacter character) { var throwMoveScraper = new ThrowMoveScraper(_scrapingServices); character.SourceUrl = $"{Keys.KHSiteBaseUrl}{_game}{character.EscapedCharacterName}"; var throwMoves = throwMoveScraper.Scrape(character).ToList(); CollectionAssert.IsNotEmpty(throwMoves); Assert.That(throwMoves.Count, Is.EqualTo(4)); //all chars have 4 throws. throwMoves.ForEach(move => { Assert.That(move, Is.Not.Null, "move should not be null."); Assert.That(move.Name.Contains(MoveType.Throw.GetEnumDescription()), $"{move.Name}"); Assert.That(move.MoveType, Is.EqualTo(MoveType.Throw.ToString().ToLower()), $"{move.Name}"); }); }
public void ScrapeThrowMovesForCharacter_DonkeyKongHasEightThrows() { var throwMoveScraper = new ThrowMoveScraper(_scrapingServices); var character = Characters.DonkeyKong; character.SourceUrl = $"{Keys.KHSiteBaseUrl}{_game}{character.EscapedCharacterName}"; var throwMoves = throwMoveScraper.Scrape(character).ToList(); CollectionAssert.IsNotEmpty(throwMoves); Assert.That(throwMoves.Count, Is.EqualTo(8)); //DK's cargo throw variants make his throw totals 8. throwMoves.ForEach(move => { Assert.That(move, Is.Not.Null, "move should not be null."); Assert.That(move.Name.Contains(MoveType.Throw.GetEnumDescription()), $"{move.Name}"); Assert.That(move.MoveType, Is.EqualTo(MoveType.Throw.ToString().ToLower()), $"{move.Name}"); }); }
public void SetUp() { var instanceIdGenerator = new InstanceIdGenerator(); _htmlParserProvider = new DefaultHtmlParserProvider(); _movementProvider = new DefaultMovementProvider(instanceIdGenerator); _moveProvider = new DefaultMoveProvider(instanceIdGenerator); _pageDownloader = new DefaultPageDownloader(); _webClientProvider = new DefaultWebClientProvider(); _attributeProvider = new DefaultAttributeProvider(instanceIdGenerator); _imageScrapingProvider = new DefaultImageScrapingProvider(); _imageScrapingService = new DefaultImageScrapingService(_imageScrapingProvider); _uniqueDataProvider = new DefaultUniqueDataProvider(instanceIdGenerator); _webServices = new DefaultWebServices(_htmlParserProvider, _webClientProvider, _pageDownloader); _attributeScrapingServices = new DefaultAttributeScrapingServices(_attributeProvider, _webServices); _moveScrapingServices = new DefaultMoveScrapingServices(_moveProvider, _webServices); _movementScrapingServices = new DefaultMovementScrapingServices(_movementProvider, _webServices); _uniqueDataScrapingServices = new DefaultUniqueDataScrapingServices(_uniqueDataProvider, _webServices); _groundMoveScraper = new GroundMoveScraper(_moveScrapingServices); _aerialMoveScraper = new AerialMoveScraper(_moveScrapingServices); _specialMoveScraper = new SpecialMoveScraper(_moveScrapingServices); _throwMovesScraper = new ThrowMoveScraper(_moveScrapingServices); _characterMoveScraper = new DefaultCharacterMoveScraper(new List <IMoveScraper> { _groundMoveScraper, _aerialMoveScraper, _specialMoveScraper, _throwMovesScraper }); var attributeScrapers = new List <IAttributeScraper> { new AirSpeedScraper(_attributeScrapingServices), new AirDodgeScraper(_attributeScrapingServices) }; _movementScraper = new DefaultMovementScraper(_movementScrapingServices); _characterDataScrapingServices = new DefaultCharacterDataScrapingServices(_imageScrapingService, _movementScraper, attributeScrapers, _characterMoveScraper, _uniqueDataScrapingServices, _webServices, instanceIdGenerator); _characterDataScraper = new DefaultCharacterDataScraper(_characterDataScrapingServices); }
public void ThrowMoveScraperExtractsCorrectData_Ultimate() { var throwMoveScraper = new ThrowMoveScraper(_scrapingServices); var character = new Ganondorf(); character.SourceUrl = $"{Keys.KHSiteBaseUrl}{Keys.UltimateUrl}{character.EscapedCharacterName}"; var throwMoves = throwMoveScraper.Scrape(character).ToList(); CollectionAssert.IsNotEmpty(throwMoves); Assert.That(throwMoves.Count, Is.EqualTo(4)); var backThrow = throwMoves.SingleOrDefault(t => t.Name == "Bthrow"); Assert.That(backThrow.IsWeightDependent, Is.EqualTo(false)); Assert.That(backThrow.BaseDamage, Is.EqualTo("5, 5;1v1: 6, 6")); Assert.That(backThrow.Angle, Is.EqualTo("43")); Assert.That(backThrow.BaseKnockBackSetKnockback, Is.EqualTo("30")); Assert.That(backThrow.KnockbackGrowth, Is.EqualTo("130")); }
public DefaultCharacterDataScraper MakeCharacterDataScraper() { var instanceIdGenerator = new InstanceIdGenerator(); _htmlParserProvider = new DefaultHtmlParserProvider(); _movementProvider = new DefaultMovementProvider(instanceIdGenerator); _moveProvider = new DefaultMoveProvider(instanceIdGenerator); _pageDownloader = new DefaultPageDownloader(); _webClientProvider = new DefaultWebClientProvider(); _attributeProvider = new DefaultAttributeProvider(instanceIdGenerator); _imageScrapingProvider = new DefaultImageScrapingProvider(); _imageScrapingService = new DefaultColorScrapingService(_characterCss); //_imageScrapingProvider); _uniqueDataProvider = new DefaultUniqueDataProvider(instanceIdGenerator); _webServices = new DefaultWebServices(_htmlParserProvider, _webClientProvider, _pageDownloader); _attributeScrapingServices = new DefaultAttributeScrapingServices(_attributeProvider, _webServices); _moveScrapingServices = new DefaultMoveScrapingServices(_moveProvider, _webServices); _movementScrapingServices = new DefaultMovementScrapingServices(_movementProvider, _webServices); _uniqueDataScrapingServices = new DefaultUniqueDataScrapingServices(_uniqueDataProvider, _webServices); _groundMoveScraper = new GroundMoveScraper(_moveScrapingServices); _aerialMoveScraper = new AerialMoveScraper(_moveScrapingServices); _specialMoveScraper = new SpecialMoveScraper(_moveScrapingServices); _throwMoveScraper = new ThrowMoveScraper(_moveScrapingServices); _characterMoveScraper = new DefaultCharacterMoveScraper(new List <IMoveScraper> { _groundMoveScraper, _aerialMoveScraper, _specialMoveScraper, _throwMoveScraper }); var attributeScrapers = AttributeScrapers.AllWithScrapingServices(_attributeScrapingServices, _urlUnderTest); _movementScraper = new DefaultMovementScraper(_movementScrapingServices); _characterDataScrapingServices = new DefaultCharacterDataScrapingServices(_imageScrapingService, _movementScraper, attributeScrapers, _characterMoveScraper, _uniqueDataScrapingServices, _webServices, instanceIdGenerator); return(new DefaultCharacterDataScraper(_characterDataScrapingServices)); }