Skip to content
Snippets Groups Projects
Commit 2a8f9a82 authored by Torbjørn Antonsen's avatar Torbjørn Antonsen
Browse files

Added classes for PlayingCard and DeckOfCards as well as test classes

parent 938ffb13
Branches test
No related tags found
2 merge requests!2Added beginnings of GUI and images,!1Added classes for PlayingCard and DeckOfCards as well as tesst classes
Pipeline #202863 failed
Showing
with 121 additions and 17 deletions
...@@ -3,38 +3,35 @@ package edu.ntnu.idatt2001; ...@@ -3,38 +3,35 @@ package edu.ntnu.idatt2001;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
public class DeckOfCards { public class DeckOfCards {
private final String[][] deckOfCards; private final List<PlayingCard> deckOfCards;
public DeckOfCards() { public DeckOfCards() {
this.deckOfCards = new String[4][13]; this.deckOfCards = new ArrayList<>();
StringBuilder str = new StringBuilder();
char[] suit = {'C', 'D', 'H', 'S'}; char[] suit = {'C', 'D', 'H', 'S'};
for (int i = 0; i < suit.length; i++) { for (char c : suit) {
for (int j = 0; j <= 12; j++) { for (int j = 0; j <= 12; j++) {
deckOfCards[i][j] = str.append(suit[i]).append(j+1).toString(); deckOfCards.add(new PlayingCard(c, j+1));
str.setLength(0);
} }
} }
} }
public String[] dealHand(int n) { public PlayingCard[] dealHand(int n) {
String[] hand = new String[n]; PlayingCard[] hand = new PlayingCard[n];
Random random = new Random(); Random random = new Random();
int i; int i;
int j;
for (int index = 0; index < n; index++) { for (int j = 0; j < n; j++) {
i = random.nextInt(4); i = random.nextInt(52-j);
j = random.nextInt(13); hand[j] = deckOfCards.get(i);
hand[index] = deckOfCards[i][j]; deckOfCards.remove(i);
} }
return hand; return hand;
} }
public String getCard(int i, int j) { public List<PlayingCard> getDeckOfCards() {
return deckOfCards[i][j]; return deckOfCards;
} }
} }
\ No newline at end of file
package edu.ntnu.idatt2001;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import java.util.List;
import static org.junit.jupiter.api.Assertions.*;
@Nested
class DeckOfCardsTest {
@Test
public void doesCardsHaveRightValue() {
DeckOfCards doc = new DeckOfCards();
List<PlayingCard> deckOfCards = doc.getDeckOfCards();
assertEquals("C1", deckOfCards.get(0).getAsString());
assertNotEquals("C2", deckOfCards.get(0).getAsString());
assertEquals("S13", deckOfCards.get(51).getAsString());
}
@Test
public void dealHandDealsRightAmountOfCards() {
DeckOfCards doc = new DeckOfCards();
assertEquals(5, doc.dealHand(5).length);
}
}
\ No newline at end of file
File added
No preview for this file type
#Generated by Maven
#Tue Mar 07 12:21:01 CET 2023
groupId=edu.ntnu.idatt2001
artifactId=CardGame
version=0.1
edu\ntnu\idatt2001\Main.class
edu\ntnu\idatt2001\DeckOfCards.class
edu\ntnu\idatt2001\PlayingCard.class
C:\Users\Torbjrn\OneDrive - NTNU\Documents\BIDATA\Vr 2023\IDATT2001\Arbeidskrav 4\CardGame\src\main\java\edu\ntnu\idatt2001\DeckOfCards.java
C:\Users\Torbjrn\OneDrive - NTNU\Documents\BIDATA\Vr 2023\IDATT2001\Arbeidskrav 4\CardGame\src\main\java\edu\ntnu\idatt2001\Main.java
C:\Users\Torbjrn\OneDrive - NTNU\Documents\BIDATA\Vr 2023\IDATT2001\Arbeidskrav 4\CardGame\src\main\java\edu\ntnu\idatt2001\PlayingCard.java
edu\ntnu\idatt2001\DeckOfCardsTest.class
C:\Users\Torbjørn\OneDrive - NTNU\Documents\BIDATA\Vår 2023\IDATT2001\Arbeidskrav 4\CardGame\src\test\java\edu\ntnu\idatt2001\DeckOfCardsTest.java
<?xml version="1.0" encoding="UTF-8"?>
<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd" version="3.0" name="edu.ntnu.idatt2001.DeckOfCardsTest" time="0.04" tests="1" errors="0" skipped="0" failures="0">
<properties>
<property name="java.specification.version" value="17"/>
<property name="sun.cpu.isalist" value="amd64"/>
<property name="sun.jnu.encoding" value="Cp1252"/>
<property name="java.class.path" value="C:\Users\Torbjørn\OneDrive - NTNU\Documents\BIDATA\Vår 2023\IDATT2001\Arbeidskrav 4\CardGame\target\test-classes;C:\Users\Torbjørn\OneDrive - NTNU\Documents\BIDATA\Vår 2023\IDATT2001\Arbeidskrav 4\CardGame\target\classes;C:\Users\Torbjørn\.m2\repository\org\openjfx\javafx-controls\20-ea+9\javafx-controls-20-ea+9.jar;C:\Users\Torbjørn\.m2\repository\org\openjfx\javafx-controls\20-ea+9\javafx-controls-20-ea+9-win.jar;C:\Users\Torbjørn\.m2\repository\org\openjfx\javafx-graphics\20-ea+9\javafx-graphics-20-ea+9.jar;C:\Users\Torbjørn\.m2\repository\org\openjfx\javafx-graphics\20-ea+9\javafx-graphics-20-ea+9-win.jar;C:\Users\Torbjørn\.m2\repository\org\openjfx\javafx-base\20-ea+9\javafx-base-20-ea+9.jar;C:\Users\Torbjørn\.m2\repository\org\openjfx\javafx-base\20-ea+9\javafx-base-20-ea+9-win.jar;C:\Users\Torbjørn\.m2\repository\org\junit\jupiter\junit-jupiter\5.9.1\junit-jupiter-5.9.1.jar;C:\Users\Torbjørn\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.9.1\junit-jupiter-api-5.9.1.jar;C:\Users\Torbjørn\.m2\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;C:\Users\Torbjørn\.m2\repository\org\junit\platform\junit-platform-commons\1.9.1\junit-platform-commons-1.9.1.jar;C:\Users\Torbjørn\.m2\repository\org\apiguardian\apiguardian-api\1.1.2\apiguardian-api-1.1.2.jar;C:\Users\Torbjørn\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.9.1\junit-jupiter-params-5.9.1.jar;C:\Users\Torbjørn\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.9.1\junit-jupiter-engine-5.9.1.jar;C:\Users\Torbjørn\.m2\repository\org\junit\platform\junit-platform-engine\1.9.1\junit-platform-engine-1.9.1.jar;"/>
<property name="java.vm.vendor" value="Amazon.com Inc."/>
<property name="sun.arch.data.model" value="64"/>
<property name="user.variant" value=""/>
<property name="java.vendor.url" value="https://aws.amazon.com/corretto/"/>
<property name="user.timezone" value="Europe/Oslo"/>
<property name="os.name" value="Windows 11"/>
<property name="java.vm.specification.version" value="17"/>
<property name="sun.java.launcher" value="SUN_STANDARD"/>
<property name="user.country" value="US"/>
<property name="sun.boot.library.path" value="C:\Users\Torbjørn\.jdks\corretto-17.0.5\bin"/>
<property name="sun.java.command" value="C:\Users\Torbjørn\AppData\Local\Temp\surefire84101452198897994\surefirebooter-20230307122100076_3.jar C:\Users\Torbjørn\AppData\Local\Temp\surefire84101452198897994 2023-03-07T12-20-57_371-jvmRun1 surefire-20230307122100076_1tmp surefire_0-20230307122100076_2tmp"/>
<property name="jdk.debug" value="release"/>
<property name="surefire.test.class.path" value="C:\Users\Torbjørn\OneDrive - NTNU\Documents\BIDATA\Vår 2023\IDATT2001\Arbeidskrav 4\CardGame\target\test-classes;C:\Users\Torbjørn\OneDrive - NTNU\Documents\BIDATA\Vår 2023\IDATT2001\Arbeidskrav 4\CardGame\target\classes;C:\Users\Torbjørn\.m2\repository\org\openjfx\javafx-controls\20-ea+9\javafx-controls-20-ea+9.jar;C:\Users\Torbjørn\.m2\repository\org\openjfx\javafx-controls\20-ea+9\javafx-controls-20-ea+9-win.jar;C:\Users\Torbjørn\.m2\repository\org\openjfx\javafx-graphics\20-ea+9\javafx-graphics-20-ea+9.jar;C:\Users\Torbjørn\.m2\repository\org\openjfx\javafx-graphics\20-ea+9\javafx-graphics-20-ea+9-win.jar;C:\Users\Torbjørn\.m2\repository\org\openjfx\javafx-base\20-ea+9\javafx-base-20-ea+9.jar;C:\Users\Torbjørn\.m2\repository\org\openjfx\javafx-base\20-ea+9\javafx-base-20-ea+9-win.jar;C:\Users\Torbjørn\.m2\repository\org\junit\jupiter\junit-jupiter\5.9.1\junit-jupiter-5.9.1.jar;C:\Users\Torbjørn\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.9.1\junit-jupiter-api-5.9.1.jar;C:\Users\Torbjørn\.m2\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;C:\Users\Torbjørn\.m2\repository\org\junit\platform\junit-platform-commons\1.9.1\junit-platform-commons-1.9.1.jar;C:\Users\Torbjørn\.m2\repository\org\apiguardian\apiguardian-api\1.1.2\apiguardian-api-1.1.2.jar;C:\Users\Torbjørn\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.9.1\junit-jupiter-params-5.9.1.jar;C:\Users\Torbjørn\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.9.1\junit-jupiter-engine-5.9.1.jar;C:\Users\Torbjørn\.m2\repository\org\junit\platform\junit-platform-engine\1.9.1\junit-platform-engine-1.9.1.jar;"/>
<property name="sun.cpu.endian" value="little"/>
<property name="user.home" value="C:\Users\Torbjørn"/>
<property name="user.language" value="en"/>
<property name="java.specification.vendor" value="Oracle Corporation"/>
<property name="java.version.date" value="2022-10-18"/>
<property name="java.home" value="C:\Users\Torbjørn\.jdks\corretto-17.0.5"/>
<property name="file.separator" value="\"/>
<property name="basedir" value="C:\Users\Torbjørn\OneDrive - NTNU\Documents\BIDATA\Vår 2023\IDATT2001\Arbeidskrav 4\CardGame"/>
<property name="java.vm.compressedOopsMode" value="Zero based"/>
<property name="line.separator" value="&#10;"/>
<property name="java.vm.specification.vendor" value="Oracle Corporation"/>
<property name="java.specification.name" value="Java Platform API Specification"/>
<property name="surefire.real.class.path" value="C:\Users\Torbjørn\AppData\Local\Temp\surefire84101452198897994\surefirebooter-20230307122100076_3.jar"/>
<property name="user.script" value=""/>
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
<property name="java.runtime.version" value="17.0.5+8-LTS"/>
<property name="user.name" value="Torbjørn"/>
<property name="path.separator" value=";"/>
<property name="os.version" value="10.0"/>
<property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
<property name="file.encoding" value="Cp1252"/>
<property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
<property name="java.vendor.version" value="Corretto-17.0.5.8.1"/>
<property name="localRepository" value="C:\Users\Torbjørn\.m2\repository"/>
<property name="java.vendor.url.bug" value="https://github.com/corretto/corretto-17/issues/"/>
<property name="java.io.tmpdir" value="C:\Users\TORBJR~1\AppData\Local\Temp\"/>
<property name="idea.version" value="2022.2.3"/>
<property name="java.version" value="17.0.5"/>
<property name="user.dir" value="C:\Users\Torbjørn\OneDrive - NTNU\Documents\BIDATA\Vår 2023\IDATT2001\Arbeidskrav 4\CardGame"/>
<property name="os.arch" value="amd64"/>
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
<property name="sun.os.patch.level" value=""/>
<property name="native.encoding" value="Cp1252"/>
<property name="java.library.path" value="C:\Users\Torbjørn\.jdks\corretto-17.0.5\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Eclipse Adoptium\jdk-17.0.4.8-hotspot\bin;C:\Program Files\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Program Files\Git\cmd;C:\Program Files\Java\jdk-17.0.4.1\bin;C:\Program Files\Maven\apache-maven-3.9.0\bin;C:\Users\Torbjørn\AppData\Local\Programs\Python\Python310\Scripts\;C:\Users\Torbjørn\AppData\Local\Programs\Python\Python310\;C:\Users\Torbjørn\AppData\Local\Microsoft\WindowsApps;C:\Program Files\JetBrains\IntelliJ IDEA 2022.2.1\bin;C:\Users\Torbjørn\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files\JetBrains\PyCharm Community Edition 2022.2.1\bin;C:\Users\Torbjørn\.dotnet\tools;C:\Users\Torbjørn\AppData\Local\Microsoft\WindowsApps;C:\Users\Torbjørn\AppData\Local\GitHubDesktop\bin;."/>
<property name="java.vm.info" value="mixed mode, sharing"/>
<property name="java.vendor" value="Amazon.com Inc."/>
<property name="java.vm.version" value="17.0.5+8-LTS"/>
<property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
<property name="java.class.version" value="61.0"/>
</properties>
<testcase name="doesCardsHaveRightValue" classname="edu.ntnu.idatt2001.DeckOfCardsTest" time="0.024"/>
</testsuite>
\ No newline at end of file
-------------------------------------------------------------------------------
Test set: edu.ntnu.idatt2001.DeckOfCardsTest
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.04 s - in edu.ntnu.idatt2001.DeckOfCardsTest
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment