Ejemplo n.º 1
0
        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>();
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        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");
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 12
0
 public static bool IsTrapCard(BanlistCardSearch card)
 {
     return(string.Equals(card.Category, CardConstants.TrapType, StringComparison.OrdinalIgnoreCase));
 }
Ejemplo n.º 13
0
 public static bool IsMonsterCard(BanlistCardSearch banlistCardSearch)
 {
     return(IsMonsterCard(banlistCardSearch.Category));
 }