/******************************************************************************* * Solitaire * * Copyright (C) 2016 by Martin P. Robillard * * See: https://github.com/prmr/Solitaire * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. *******************************************************************************/ package ca.mcgill.cs.stg.solitaire.cards; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertFalse; import org.junit.Test; import ca.mcgill.cs.stg.solitaire.cards.Card.Rank; import ca.mcgill.cs.stg.solitaire.cards.Card.Suit; public class TestCard { @Test public void testToIDString() { assertEquals("0", Card.get(Rank.ACE, Suit.CLUBS).getIDString()); assertEquals("9", Card.get(Rank.TEN, Suit.CLUBS).getIDString()); assertEquals("12", Card.get(Rank.KING, Suit.CLUBS).getIDString()); assertEquals("13", Card.get(Rank.ACE, Suit.DIAMONDS).getIDString()); assertEquals("26", Card.get(Rank.ACE, Suit.HEARTS).getIDString()); assertEquals("39", Card.get(Rank.ACE, Suit.SPADES).getIDString()); } @Test public void testFromIDString() { assertEquals(Card.get(Rank.ACE, Suit.CLUBS), Card.get("0")); assertEquals(Card.get(Rank.TEN, Suit.CLUBS), Card.get("9")); assertEquals(Card.get(Rank.KING, Suit.CLUBS), Card.get("12")); assertEquals(Card.get(Rank.ACE, Suit.DIAMONDS), Card.get("13")); assertEquals(Card.get(Rank.ACE, Suit.HEARTS), Card.get("26")); assertEquals(Card.get(Rank.ACE, Suit.SPADES), Card.get("39")); } @Test public void testToString() { assertEquals("ACE of CLUBS", Card.get(Rank.ACE, Suit.CLUBS).toString()); assertEquals("TWO of CLUBS", Card.get(Rank.TWO, Suit.CLUBS).toString()); assertEquals("KING of CLUBS", Card.get(Rank.KING, Suit.CLUBS).toString()); assertEquals("ACE of DIAMONDS", Card.get(Rank.ACE, Suit.DIAMONDS).toString()); assertEquals("TWO of DIAMONDS", Card.get(Rank.TWO, Suit.DIAMONDS).toString()); assertEquals("KING of DIAMONDS", Card.get(Rank.KING, Suit.DIAMONDS).toString()); assertEquals("ACE of HEARTS", Card.get(Rank.ACE, Suit.HEARTS).toString()); assertEquals("TWO of HEARTS", Card.get(Rank.TWO, Suit.HEARTS).toString()); assertEquals("KING of HEARTS", Card.get(Rank.KING, Suit.HEARTS).toString()); assertEquals("ACE of SPADES", Card.get(Rank.ACE, Suit.SPADES).toString()); assertEquals("TWO of SPADES", Card.get(Rank.TWO, Suit.SPADES).toString()); assertEquals("KING of SPADES", Card.get(Rank.KING, Suit.SPADES).toString()); } @Test public void testSameColor() { assertTrue(Card.get(Rank.ACE, Suit.CLUBS).sameColorAs(Card.get(Rank.ACE, Suit.CLUBS))); assertTrue(Card.get(Rank.ACE, Suit.CLUBS).sameColorAs(Card.get(Rank.ACE, Suit.SPADES))); assertTrue(Card.get(Rank.ACE, Suit.CLUBS).sameColorAs(Card.get(Rank.KING, Suit.SPADES))); assertTrue(Card.get(Rank.ACE, Suit.SPADES).sameColorAs(Card.get(Rank.KING, Suit.SPADES))); assertTrue(Card.get(Rank.ACE, Suit.SPADES).sameColorAs(Card.get(Rank.KING, Suit.CLUBS))); assertTrue(Card.get(Rank.ACE, Suit.DIAMONDS).sameColorAs(Card.get(Rank.ACE, Suit.DIAMONDS))); assertTrue(Card.get(Rank.ACE, Suit.DIAMONDS).sameColorAs(Card.get(Rank.ACE, Suit.HEARTS))); assertTrue(Card.get(Rank.ACE, Suit.DIAMONDS).sameColorAs(Card.get(Rank.KING, Suit.HEARTS))); assertTrue(Card.get(Rank.ACE, Suit.HEARTS).sameColorAs(Card.get(Rank.KING, Suit.HEARTS))); assertTrue(Card.get(Rank.ACE, Suit.HEARTS).sameColorAs(Card.get(Rank.KING, Suit.DIAMONDS))); assertFalse(Card.get(Rank.ACE, Suit.CLUBS).sameColorAs(Card.get(Rank.ACE, Suit.DIAMONDS))); assertFalse(Card.get(Rank.ACE, Suit.CLUBS).sameColorAs(Card.get(Rank.ACE, Suit.HEARTS))); assertFalse(Card.get(Rank.ACE, Suit.SPADES).sameColorAs(Card.get(Rank.ACE, Suit.DIAMONDS))); assertFalse(Card.get(Rank.ACE, Suit.SPADES).sameColorAs(Card.get(Rank.ACE, Suit.HEARTS))); assertFalse(Card.get(Rank.ACE, Suit.DIAMONDS).sameColorAs(Card.get(Rank.ACE, Suit.SPADES))); } }