public void MoveDbDataIsEqualToKhPageData() { foreach (var characterFromDb in _characters) { var characterFromKhPage = new WebCharacter(characterFromDb); var unfilteredMovePageData = characterFromKhPage.FrameData.OfType<MoveStat>(); var filteredMovesFromKhPage = FilterUnwantedRowsFromKhPageData(unfilteredMovePageData); var dbMovesForCharacter = _moves.Where(m => m.OwnerId == characterFromDb.Id).ToList(); Assert.That(dbMovesForCharacter.Count, Is.GreaterThan(0)); Assert.That(filteredMovesFromKhPage.Count, Is.GreaterThan(0)); Assert.That(dbMovesForCharacter.Count, Is.EqualTo(filteredMovesFromKhPage.Count), $"Mismatch on move count for character '{characterFromDb.DisplayName}'"); foreach (var move in WhereNotThrowMove(dbMovesForCharacter)) { var moveFromKhPage = filteredMovesFromKhPage.FirstOrDefault(khmove => khmove.Name.Equals(move.Name) && khmove.Angle.Equals(move.Angle) && khmove.AutoCancel.Equals(move.AutoCancel) && khmove.BaseDamage.Equals(move.BaseDamage) && khmove.BaseKnockBackSetKnockback.Equals(move.BaseKnockBackSetKnockback) && khmove.FirstActionableFrame.Equals(move.FirstActionableFrame) && khmove.HitboxActive.Equals(move.HitboxActive) && khmove.KnockbackGrowth.Equals(move.KnockbackGrowth) && khmove.LandingLag.Equals(move.LandingLag) && khmove.OwnerId == move.OwnerId); Assert.That(moveFromKhPage, Is.Not.Null); } } }
private void AssertCharacterDataMatches(BaseCharacterModel characterFromDb, WebCharacter webCharacterFromKhPage) { Assert.That(characterFromDb.Name, Is.Not.EqualTo(string.Empty)); Assert.That(characterFromDb.Name, Is.Not.Null); Assert.That(characterFromDb.Name, Is.EqualTo(webCharacterFromKhPage.Name), $"{characterFromDb.Name} does not match Kh page value for character {webCharacterFromKhPage.Name}"); Assert.That(characterFromDb.MainImageUrl, Is.EqualTo(webCharacterFromKhPage.MainImageUrl), $"{characterFromDb.Name} MainImageUrl does not match Kh page value for character {webCharacterFromKhPage.Name}"); Assert.That(characterFromDb.ColorTheme, Is.EqualTo(webCharacterFromKhPage.ColorHex), $"{characterFromDb.Name} ColorTheme does not match Kh page value for character {webCharacterFromKhPage.Name}"); //TODO: This is because of the additional layer between the roster and the characters for mii fighters //I'll adjust this if there is another patch. Otherwise, it's just not worth it to verify right now. //Mii frame data is still pulled. if (!characterFromDb.Name.Contains("Mii")) { Assert.That(characterFromDb.ThumbnailUrl, Is.EqualTo(_thumbnailUrls.First(t => t.Key.Equals(webCharacterFromKhPage.Name.ToUpper())).Url), $"{characterFromDb.Name} ThumbnailUrl does not match Kh page value for character {webCharacterFromKhPage.Name}"); } }
public void CharacterDbDataIsEqualToKhPageData() { foreach (var characterFromDb in _characters) { var characterFromKhPage = new WebCharacter(characterFromDb); AssertCharacterDataMatches(characterFromDb, characterFromKhPage); } }
public void MovementDbDataIsEqualToKhPageData() { foreach (var characterFromDb in _characters) { var characterFromKhPage = new WebCharacter(characterFromDb); var movementsFromKhPage = characterFromKhPage.FrameData.OfType<MovementStat>().ToList(); var dbMovementsForCharacter = _movements.Where(m => m.OwnerId == characterFromDb.Id).ToList(); Assert.That(dbMovementsForCharacter.Count, Is.GreaterThan(0)); Assert.That(movementsFromKhPage.Count, Is.GreaterThan(0)); Assert.That(dbMovementsForCharacter.Count, Is.EqualTo(movementsFromKhPage.Count)); foreach (var movement in dbMovementsForCharacter) { var movementFromKhPage = movementsFromKhPage.FirstOrDefault(khmove => khmove.Name.Equals(movement.Name) && khmove.Value.Equals(movement.Value) && khmove.OwnerId == movement.OwnerId); Assert.That(movementFromKhPage, Is.Not.Null); } } }