public static Card MapToTrapCard(BanlistCardSearch model) { var card = new Card { Id = model.Id, CardNumber = model.CardNumber, Name = model.Name, Description = model.Description, }; var subCategoryList = model.SubCategories.Split(','); foreach (var subCategory in subCategoryList) { card.CardSubCategory.Add(new CardSubCategory { SubCategory = new SubCategory { Name = subCategory, Category = new Category { Id = model.CategoryId, Name = model.Category } } }); } return(card); }
public void Given_An_Invalid_BanlistCardSearch_Should_Throw_ArgumentOutOfRangeException() { // Arrange var deckCardSearch = new BanlistCardSearch(); // Act Action act = () => CardSearchMapperHelper.MapToCardOutputModel(_mapper, deckCardSearch); // Assert act.Should().Throw <ArgumentOutOfRangeException>(); }
public static CardOutputModel MapToCardOutputModel(IMapper mapper, BanlistCardSearch cardSearch) { var card = MapToTrapCard(cardSearch); var cardOutputModel = mapper.Map <CardOutputModel>(card); cardOutputModel.BaseType = CardConstants.TrapType.ToLower(); cardOutputModel.Types.Add(card.CardSubCategory.First().SubCategory.Category.Name); cardOutputModel.Types.AddRange(card.CardSubCategory.Select(t => t.SubCategory.Name)); return(cardOutputModel); }
public void Given_A_BanlistCardSearch_That_Is_Not_A_Monster_Card_Should_Return_False() { // Arrange var deckCardDetail = new BanlistCardSearch { Category = "FakeCategory" }; // Act var result = MonsterCardHelper.IsMonsterCard(deckCardDetail); // Assert result.Should().BeFalse(); }
public static Card MapToMonsterCard(BanlistCardSearch model) { var card = new Card { Id = model.Id, CardNumber = model.CardNumber, Name = model.Name, Description = model.Description, CardLevel = model.CardLevel, CardRank = model.CardRank, Atk = model.Atk, Def = model.Def, }; var subCategoryList = model.SubCategories.Split(','); foreach (var subCategory in subCategoryList) { card.CardSubCategory.Add(new CardSubCategory { SubCategory = new SubCategory { Name = subCategory, Category = new Category { Id = model.CategoryId, Name = model.Category } } }); } if (model.AttributeId > 0) { card.CardAttribute.Add(new CardAttribute { Attribute = new Attribute { Id = model.AttributeId.Value, Name = model.Attribute } }); } if (model.TypeId > 0) { card.CardType.Add(new CardType { Type = new Type { Id = model.TypeId.Value, Name = model.Type } }); } return(card); }
public void Given_A_BanlistCardSearch_Should_Map_To_Monster_CardOutputModel() { // Arrange var cardSearch = new BanlistCardSearch { CategoryId = 23424, Category = "Monster", SubCategories = "Normal,Fairy", }; // Act var result = MonsterCardHelper.MapToCardOutputModel(_mapper, cardSearch); // Assert result.Should().NotBeNull(); }
public void Given_A_Trap_BanlistCardSearch_Should_Return_Monster_CardOutputModel() { // Arrange var deckCardDetail = new BanlistCardSearch { CategoryId = 23424, Category = "Trap", SubCategories = "Normal" }; // Act var result = CardSearchMapperHelper.MapToCardOutputModel(_mapper, deckCardDetail); // Assert result.Types.Should().Contain("Trap"); }
public void Given_A_BanlistCardSearch_Should_Map_To_Monster_SubCategories_To_Types_() { // Arrange var expected = new List <string> { "Monster", "Normal", "Fairy" }; var deckCardDetail = new BanlistCardSearch { CategoryId = 23424, Category = "Monster", SubCategories = "Normal,Fairy", }; // Act var result = MonsterCardHelper.MapToCardOutputModel(_mapper, deckCardDetail); // Assert result.Types.Should().BeEquivalentTo(expected); }
public void Given_A_Monster_BanlistCardSearch_Should_Return_Monster_CardOutputModel() { // Arrange var deckCardDetail = new BanlistCardSearch { CategoryId = 23424, Category = "Monster", SubCategories = "Normal,Fairy", AttributeId = 43, Attribute = "Light", TypeId = 234, Type = "Ritual" }; // Act var result = CardSearchMapperHelper.MapToCardOutputModel(_mapper, deckCardDetail); // Assert result.Types.Should().Contain("Monster"); }
public static CardOutputModel MapToCardOutputModel(IMapper mapper, BanlistCardSearch cardSearch) { CardOutputModel cardOutputModel; if (MonsterCardHelper.IsMonsterCard(cardSearch)) { cardOutputModel = MonsterCardHelper.MapToCardOutputModel(mapper, cardSearch); } else if (SpellCardHelper.IsSpellCard(cardSearch)) { cardOutputModel = SpellCardHelper.MapToCardOutputModel(mapper, cardSearch); } else if (TrapCardHelper.IsTrapCard(cardSearch)) { cardOutputModel = TrapCardHelper.MapToCardOutputModel(mapper, cardSearch); } else { throw new ArgumentOutOfRangeException(nameof(cardSearch)); } return(cardOutputModel); }
public void Given_A_BanlistCardSearch_Should_Map_To_Monster_SubCategories_To_CardSubCategory() { // Arrange var expected = new List <string> { "Normal", "Fairy" }; var deckCardDetail = new BanlistCardSearch { CategoryId = 23424, Category = "Monster", SubCategories = "Normal,Fairy", AttributeId = 43, Attribute = "Light", TypeId = 234, Type = "Ritual" }; // Act var result = MonsterCardHelper.MapToMonsterCard(deckCardDetail); // Assert result.CardSubCategory.Select(c => c.SubCategory.Name).Should().BeEquivalentTo(expected); }
public static bool IsTrapCard(BanlistCardSearch card) { return(string.Equals(card.Category, CardConstants.TrapType, StringComparison.OrdinalIgnoreCase)); }
public static bool IsMonsterCard(BanlistCardSearch banlistCardSearch) { return(IsMonsterCard(banlistCardSearch.Category)); }