import at.reisinger.*; import at.reisinger.Package; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.util.ArrayList; import static org.junit.jupiter.api.Assertions.assertTrue; public class StoreTest { private TradingDeal tradingDeal; private Cards newCards, cards, nochNewCards; private Card newCard, card; private ArrayList cardsArrayList, cardsArrayList2, cardsArrayList3; private Stack stack; private User user, userNew; private Store store; @BeforeEach void setUp() { //at.reisinger.Stack card = new Card("Name", 100, ElementTyp.WATER, CardType.MONSTER); newCard = new Card("NameNew", 10, ElementTyp.WATER, CardType.SPELL); cardsArrayList = new ArrayList(); cardsArrayList2 = new ArrayList(); cardsArrayList3 = new ArrayList(); cardsArrayList.add(card); cardsArrayList2.add(newCard); cards = new Cards(cardsArrayList); newCards = new Cards(cardsArrayList2); nochNewCards = new Cards(cardsArrayList3); stack = new Stack(cards, nochNewCards); //at.reisinger.Coins Coins coins = new Coins(10); //at.reisinger.User Credentials credentials = new Credentials("username", "passwort"); user = new User(credentials, "name", "nachname", "email", stack, coins); userNew = new User(credentials, "nameNew", "nachnameNew", "emailNew", stack, coins); //Trading Deal Card cardToTrade = card; ElementTyp requiredElementType = ElementTyp.FIRE; double requiredMinDamage = 100; CardType requiredCardType = CardType.MONSTER; tradingDeal = new TradingDeal(user, cardToTrade, requiredElementType, requiredMinDamage, requiredCardType); } @Test void test_addTradingDeal() { Card c1 = new Card("Name", 10, ElementTyp.FIRE, CardType.MONSTER); Card c2 = new Card("Name1", 12, ElementTyp.FIRE, CardType.SPELL); Card c3 = new Card("Name2", 13, ElementTyp.WATER, CardType.MONSTER); Card c4 = new Card("Name3", 14, ElementTyp.WATER, CardType.SPELL); Card c5 = new Card("Name4", 15, ElementTyp.FIRE, CardType.MONSTER); ArrayList deckArrList = new ArrayList(); ArrayList stackArrList = new ArrayList(); deckArrList.add(c1); deckArrList.add(c2); stackArrList.add(c3); stackArrList.add(c4); stackArrList.add(c5); Cards deck = new Cards(deckArrList); Cards stack = new Cards(stackArrList); User user = new User(new Credentials("username", "passwort"), "Name", "Nachname", "Email", new Stack(stack, deck), new Coins(1000)); ArrayList tradingDeals = new ArrayList(); ArrayList packages = new ArrayList(); tradingDeals.add(new TradingDeal(user, c1, ElementTyp.FIRE, 10, CardType.MONSTER)); packages.add(new at.reisinger.Package(stack, "Test at.reisinger.Package", 100)); System.out.println(user.getTradingDeals().toString()); user.addTradingDeal(new TradingDeal(user, c1, ElementTyp.FIRE, 10, CardType.MONSTER)); System.out.println(user.getTradingDeals().toString()); System.out.println(tradingDeals.toString()); assertTrue(user.getTradingDeals().get(0).dealOk(tradingDeals.get(0))); } @Test void test_doTrade() { Card cardtest = new Card("Name", 100, ElementTyp.FIRE, CardType.MONSTER); TradingDeal tradingDealtest = new TradingDeal(user, cardtest, ElementTyp.WATER, 100, CardType.MONSTER); boolean result = user.doTrading(tradingDeal, tradingDealtest); assertTrue(result); } @Test void test_getTradingDeals() { ArrayList result = user.getTradingDeals(); ArrayList expected = new ArrayList(); Card c1 = new Card("Name", 10, ElementTyp.FIRE, CardType.MONSTER); Card c2 = new Card("Name1", 12, ElementTyp.FIRE, CardType.SPELL); Card c3 = new Card("Name2", 13, ElementTyp.WATER, CardType.MONSTER); Card c4 = new Card("Name3", 14, ElementTyp.WATER, CardType.SPELL); Card c5 = new Card("Name4", 15, ElementTyp.FIRE, CardType.MONSTER); ArrayList deckArrList = new ArrayList(); ArrayList stackArrList = new ArrayList(); deckArrList.add(c1); deckArrList.add(c2); stackArrList.add(c3); stackArrList.add(c4); stackArrList.add(c5); Cards deck = new Cards(deckArrList); Cards stack = new Cards(stackArrList); User user = new User(new Credentials("username", "passwort"), "Name", "Nachname", "Email", new Stack(stack, deck), new Coins(1000)); ArrayList tradingDeals = new ArrayList(); ArrayList packages = new ArrayList(); tradingDeals.add(new TradingDeal(user, c1, ElementTyp.FIRE, 10, CardType.MONSTER)); packages.add(new at.reisinger.Package(stack, "Test at.reisinger.Package", 100)); assertTrue(result.get(0).dealOk(new TradingDeal(user, c1, ElementTyp.FIRE, 10, CardType.MONSTER))); } @Test void test_getPossibleTradingDeals() { Card testCard = new Card("Test", 10, ElementTyp.FIRE, CardType.MONSTER); ArrayList result = user.getPossibleTradingDeals(testCard); ArrayList expected = new ArrayList(); Card c1 = new Card("Name", 10, ElementTyp.FIRE, CardType.MONSTER); Card c2 = new Card("Name1", 12, ElementTyp.FIRE, CardType.SPELL); Card c3 = new Card("Name2", 13, ElementTyp.WATER, CardType.MONSTER); Card c4 = new Card("Name3", 14, ElementTyp.WATER, CardType.SPELL); Card c5 = new Card("Name4", 15, ElementTyp.FIRE, CardType.MONSTER); ArrayList deckArrList = new ArrayList(); ArrayList stackArrList = new ArrayList(); deckArrList.add(c1); deckArrList.add(c2); stackArrList.add(c3); stackArrList.add(c4); stackArrList.add(c5); Cards deck = new Cards(deckArrList); Cards stack = new Cards(stackArrList); TradingDeal vonDB = new TradingDeal(new User(new Credentials("username", "passwort"), "DerName", "Nachname", "Email", new Stack(stack, deck), new Coins(1000)), c1, ElementTyp.FIRE, 10, CardType.SPELL); expected.add(vonDB); System.out.println(result.get(0).getCardToTrade().getName()); System.out.println(expected.get(0).getCardToTrade().getName()); assertTrue(result.get(0).getCardToTrade().equals(expected.get(0).getCardToTrade())); } }