diff --git a/README.md b/README.md
index 2dce71f0c84597823fc0fcc930f1debc18c0a9ea..a1a52cca3243f26b6f0c66c5803fc1f5010a78fa 100644
--- a/README.md
+++ b/README.md
@@ -44,3 +44,51 @@ miscelleanous:
 Flowchart I coded :
 
 ![flowchart](flowchart.png)
+
+## part 3
+
+- unit test done for class dealer
+    - Quentin said one class with unit test was enough;
+- ai for cpu is done
+    - they make the correct choice
+    - at the moment they only play in the background, but there is no crash
+- no visual indication for when you are allowed or not to press a button
+    - if you are not allowed, nothing will happen
+- no data saving / loading
+- core of the game still functions like in part 2
+    - i used the same functions, so yeah it does
+    - double, split and insurance are mutually exlusiv
+    - double allows only one more cards
+    - etc ... look at part 2 rules
+
+### ui
+- color indicates current playing hand, updates accordingly
+- displays your and dealer's cards, updates accordingly
+- displays your money, updates accordingly
+- displays total amount of money betted this turn, updates accordingly
+- display score for each of your hand, updates accordingly
+
+
+### buttons:
+- end turn: once you stayed or busted your final hand, plays the cpus in the background and moves money
+- draw: draws a card, only if you are allowed to
+- split: split current hand, only if allowed to
+- double: doubl down, only if allowed to
+- insure: insure, only of able to
+- bet initial: make ans initial bet and start your turn
+    - you won't see the dealer's or your cards befor.
+- start new turn: reset player, dealer, cpus, clean the boards
+    - ready for a new turn
+
+
+### to play :
+- same rules as part 2
+    - too keep in mind if a button doesn't do anything, it's because you are not allowed to
+- select number of ai and if smart or dumb
+- always start by giving an amount for initial bet, then pressing the corresponding button
+    - you can't do anything else exept make the cpus play in the background
+- play what you want and are allowed to
+- don't forget to explicitly "stay" your last hand if you are not busted
+- end your turn with end turn button
+- start new turn with start new turn button
+- don't forget your initial bet after the start of a new turn
\ No newline at end of file
diff --git a/part_3/pom.xml b/part_3/pom.xml
index 79f3ce6f3c0b7a7331c1691ff9f6f86d7577b024..b5ced0c8323baf9821461920eb06a2c7206aa9e1 100644
--- a/part_3/pom.xml
+++ b/part_3/pom.xml
@@ -28,14 +28,14 @@
           		<artifactId>maven-surefire-plugin</artifactId>
           		<version>2.22.1</version>
         	</plugin>
-		<plugin>
-                	<groupId>org.apache.maven.plugins</groupId>
-                	<artifactId>maven-compiler-plugin</artifactId>
-                	<version>3.8.0</version>
-                	<configuration>
-                    	<release>11</release>
-                	</configuration>
-            	</plugin>
+		    <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.8.0</version>
+                <configuration>
+                    <release>11</release>
+                </configuration>
+            </plugin>
             <plugin>
                 <groupId>org.openjfx</groupId>
                 <artifactId>javafx-maven-plugin</artifactId>
@@ -44,6 +44,39 @@
                     <mainClass>org.openjfx.App</mainClass>
                 </configuration>
             </plugin>
+            <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-dependency-plugin</artifactId>
+            <executions>
+                <execution>
+                    <id>copy-dependencies</id>
+                    <phase>prepare-package</phase>
+                    <goals>
+                        <goal>copy-dependencies</goal>
+                    </goals>
+                    <configuration>
+                        <outputDirectory>
+                            ${project.build.directory}/libs
+                        </outputDirectory>
+                    </configuration>
+                </execution>
+            </executions>
+        </plugin>
+        <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-jar-plugin</artifactId>
+            <configuration>
+                <archive>
+                    <manifest>
+                        <addClasspath>true</addClasspath>
+                        <classpathPrefix>libs/</classpathPrefix>
+                        <mainClass>
+                            org.javafx.App
+                        </mainClass>
+                    </manifest>
+                </archive>
+            </configuration>
+        </plugin>
         </plugins>
     </build>
 </project>
diff --git a/part_3/src/main/java/org/openjfx/App.java b/part_3/src/main/java/org/openjfx/App.java
index 188501a8dbfe12e60d5f4c0286e09ad9a47e46c9..549a3b6eae7e94f32364fd43f58928b04bc8f369 100644
--- a/part_3/src/main/java/org/openjfx/App.java
+++ b/part_3/src/main/java/org/openjfx/App.java
@@ -42,10 +42,10 @@ import java.io.File;
  */
 public class App extends Application {
 
-    // number of cpu
+    // some global variabless
     int numberOfCpu = 0;
     boolean dumb = true;
-    GameManager gameManager = new GameManager(1000, 6, 52);
+    GameManager gameManager = new GameManager();
     public static Scanner scan = new Scanner(System.in);
 
     @Override
@@ -64,6 +64,7 @@ public class App extends Application {
         Scene sceneInGame = new Scene(inGameGrid, 1150, 500);
         GridPane menuGrid = new GridPane();
         Scene sceneMenu = new Scene(menuGrid, 300, 300);
+        Label argentValue = new Label();
 
         // ***************************************************************************************************************
         // start menu
@@ -90,7 +91,18 @@ public class App extends Application {
         menuGrid.add(button3, 0, 3);
         button3.setOnAction(e -> numberOfCpu = 3);
         button3.setToggleGroup(numberOfCpuGroup);
-
+        // textfield
+        TextField moneyPlayer = new TextField("1234");
+        // only accepts numbers, stackoverflow
+        moneyPlayer.textProperty()
+                .addListener((ObservableValue<? extends String> observable, String oldValue, String newValue) -> {
+                    if (!newValue.matches("\\d*")) {
+                        moneyPlayer.setText(newValue.replaceAll("[^\\d]", ""));
+                    }
+                });
+        menuGrid.add(moneyPlayer, 1, 3);
+        Label moneyAsk = new Label("Money for player");
+        menuGrid.add(moneyAsk, 1, 2);
         // ai label
         Label smartLabel = new Label("Smart ai ?");
         menuGrid.add(smartLabel, 1, 0);
@@ -111,11 +123,14 @@ public class App extends Application {
         button_start.setText("start game");
         menuGrid.add(button_start, 0, 4);
         button_start.setOnAction(e -> {
+            // must have selected an amount of cpu
             if (numberOfCpu != 0) {
+                gameManager = new GameManager(Integer.parseInt(moneyPlayer.getText()), 6, 52);
                 gameManager.addCpu(numberOfCpu, dumb);
-                gameManager.shuffleDeck();
-                System.out.println(smartCheckBox.isSelected());
+                // gameManager.shuffleDeck();
                 stage.setScene(sceneInGame);
+                //maj argent value for next scene
+                argentValue.setText(String.valueOf(gameManager.human.getMoney()));
             }
         });
 
@@ -150,11 +165,11 @@ public class App extends Application {
         }
 
         // labels
-        Label carteDealer = new Label("Carte du dealer");
+        Label carteDealer = new Label("Cartes du dealer");
         inGameGrid.add(carteDealer, 0, 0);
         Label argent = new Label("Argent");
         inGameGrid.add(argent, 0, 1);
-        Label argentValue = new Label("1000");
+        //argent value declaration needed to be in global var
         inGameGrid.add(argentValue, 1, 1);
         Label mise = new Label("mise");
         inGameGrid.add(mise, 0, 2);
@@ -182,7 +197,7 @@ public class App extends Application {
 
         // textfields
         TextField betAmount = new TextField("0");
-        // only accepts numbers
+        // only accepts numbers, stackoverflow
         betAmount.textProperty()
                 .addListener((ObservableValue<? extends String> observable, String oldValue, String newValue) -> {
                     if (!newValue.matches("\\d*")) {
@@ -308,6 +323,27 @@ public class App extends Application {
                     // maj label mise et argent
                     argentValue.setText(String.valueOf(gameManager.human.getMoney()));
                     miseValue.setText(String.valueOf(gameManager.human.getTotalBet()));
+                    // maj scores
+                    // update score current hand
+                    switch (gameManager.human.getCurrentHandValue()) {
+                        case 0:
+                            score1.setText(String.valueOf(gameManager.human.scoreCurrentHand()));
+                            break;
+                        case 1:
+                            score2.setText(String.valueOf(gameManager.human.scoreCurrentHand()));
+                            break;
+                        default:
+                            score3.setText(String.valueOf(gameManager.human.scoreCurrentHand()));
+                            break;
+                    }
+                    // updates score added hand
+                    // added hand always last in human.hands
+                    if (gameManager.human.getNunmberOfHands() == 2) {
+                        score2.setText(String.valueOf(gameManager.human.getHands().get(1).score()));
+                    }
+                    if (gameManager.human.getNunmberOfHands() == 3) {
+                        score3.setText(String.valueOf(gameManager.human.getHands().get(2).score()));
+                    }
                 }
             }
         });
@@ -380,9 +416,10 @@ public class App extends Application {
         // BET
         Button btnBet = new Button("Bet initial amount");
         btnBet.setOnAction(e -> {
-            // action only if human has no initial bet, amount bet always positiv because of
+            // action only if human has no initial bet, and et < 0, and bet < money
             // textfield implementation
-            if (gameManager.human.getInitialBet() == 0) {
+            if (gameManager.human.getInitialBet() == 0 && Integer.parseInt(betAmount.getText()) > 0
+                    && Integer.parseInt(betAmount.getText()) < gameManager.human.getMoney()) {
                 gameManager.human.initialBet(Integer.parseInt(betAmount.getText()));
                 // maj label mise et argent
                 argentValue.setText(String.valueOf(gameManager.human.getMoney()));
@@ -398,12 +435,34 @@ public class App extends Application {
                 imgViews.get(11).setImage(new Image(card2.getPngName()));
                 gameManager.giveHumanOneCard(card1);
                 gameManager.giveHumanOneCard(card2);
+                // maj score current hand (always hand 1) and dealer
+                score1.setText(String.valueOf(gameManager.human.getHands().get(0).score()));
+                scoreDealer.setText(String.valueOf(gameManager.getDealerScore()));
             }
         });
         inGameGrid.add(btnBet, 6, 6);
         // NEW TURN
         Button btnNewTurn = new Button("New Turn");
-
+        btnNewTurn.setOnAction(e -> {
+            // only if player not playing, didn't start turn or dinished his turn
+            if (!gameManager.human.getPlaying()) {
+                // remove all cards
+                for (ImageView imageView : imgViews) {
+                    imageView.setImage(voidPng);
+                }
+                // removes all scores
+                score1.setText("0");
+                score2.setText("0");
+                score3.setText("0");
+                scoreDealer.setText("0");
+                // reset human
+                gameManager.human.reset();
+                // reset cpus
+                gameManager.resetCpus();
+                // reset dealer
+                gameManager.dealerReset();
+            }
+        });
         inGameGrid.add(btnNewTurn, 7, 6);
 
         // stage.setScene(sceneMenu);
@@ -411,14 +470,6 @@ public class App extends Application {
         stage.show();
     }
 
-    /*
-     * public void cleanView(GridPane gridPane, ArrayList<ImageView> imageViews){
-     * for (ImageView imageView : imageViews) {
-     * gridPane.getChildren().remove(imageView);
-     * }
-     * }
-     */
-
     public static void main(String[] args) {
         launch();
     }
diff --git a/part_3/src/main/java/org/openjfx/GameManager.java b/part_3/src/main/java/org/openjfx/GameManager.java
index e23e92cf4072372c8096920a7232bbddaf1b2033..e5f8154cd2290c8f8b636d499982d6b5ef42f4af 100644
--- a/part_3/src/main/java/org/openjfx/GameManager.java
+++ b/part_3/src/main/java/org/openjfx/GameManager.java
@@ -490,9 +490,6 @@ public class GameManager {
         }
     }
 
-    // ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-    // part 3
-
     public void giveDealerOneCard(Card card) {
         dealer.draw(card);
     }
@@ -500,4 +497,14 @@ public class GameManager {
     public void giveHumanOneCard(Card card) {
         human.drawForCurrentHand(card);
     }
+
+    public void resetCpus(){
+        for (Cpu cpu : cpuArray) {
+            cpu.reset();
+        }
+    }
+
+    public void dealerReset(){
+        this.dealer.reset();
+    }
 }
diff --git a/part_3/src/main/java/org/openjfx/two_of_clubs.png b/part_3/src/main/java/org/openjfx/two_of_clubs.png
deleted file mode 100644
index 291ed975f29d7873765c9f3259ebad8fd8a9d040..0000000000000000000000000000000000000000
Binary files a/part_3/src/main/java/org/openjfx/two_of_clubs.png and /dev/null differ
diff --git a/part_3/target/classes/org/openjfx/App.class b/part_3/target/classes/org/openjfx/App.class
index fe06500d2c6ef2015ba623eebe7ddbd65e7506db..4df9e80a96cffae9912cbb063ca85206ea5a143e 100644
Binary files a/part_3/target/classes/org/openjfx/App.class and b/part_3/target/classes/org/openjfx/App.class differ
diff --git a/part_3/target/classes/org/openjfx/GameManager.class b/part_3/target/classes/org/openjfx/GameManager.class
index 04bd98fc8e1ff5dc559c44da5559a05e5ef12f8b..6b5faf2dff1d3da6afb032251d97cb89c1a86e02 100644
Binary files a/part_3/target/classes/org/openjfx/GameManager.class and b/part_3/target/classes/org/openjfx/GameManager.class differ
diff --git a/part_3/target/libs/hamcrest-core-1.3.jar b/part_3/target/libs/hamcrest-core-1.3.jar
new file mode 100644
index 0000000000000000000000000000000000000000..9d5fe16e3dd37ebe79a36f61f5d0e1a69a653a8a
Binary files /dev/null and b/part_3/target/libs/hamcrest-core-1.3.jar differ
diff --git a/part_3/target/libs/javafx-base-21.0.2-linux.jar b/part_3/target/libs/javafx-base-21.0.2-linux.jar
new file mode 100644
index 0000000000000000000000000000000000000000..eee9b57981213263ab56454eb15c48a82d910906
Binary files /dev/null and b/part_3/target/libs/javafx-base-21.0.2-linux.jar differ
diff --git a/part_3/target/libs/javafx-base-21.0.2.jar b/part_3/target/libs/javafx-base-21.0.2.jar
new file mode 100644
index 0000000000000000000000000000000000000000..2b217d5cf7998e6a790a186fb0bb6cc6cdee9e5f
Binary files /dev/null and b/part_3/target/libs/javafx-base-21.0.2.jar differ
diff --git a/part_3/target/libs/javafx-controls-21.0.2-linux.jar b/part_3/target/libs/javafx-controls-21.0.2-linux.jar
new file mode 100644
index 0000000000000000000000000000000000000000..66ae7801d63c2e2db2a78ced1ae7393f8cdf57fb
Binary files /dev/null and b/part_3/target/libs/javafx-controls-21.0.2-linux.jar differ
diff --git a/part_3/target/libs/javafx-controls-21.0.2.jar b/part_3/target/libs/javafx-controls-21.0.2.jar
new file mode 100644
index 0000000000000000000000000000000000000000..822d8b4bbd3193f1dffb1ec9ac5d5d16866daf66
Binary files /dev/null and b/part_3/target/libs/javafx-controls-21.0.2.jar differ
diff --git a/part_3/target/libs/javafx-graphics-21.0.2-linux.jar b/part_3/target/libs/javafx-graphics-21.0.2-linux.jar
new file mode 100644
index 0000000000000000000000000000000000000000..5af0cc334cc323eb4e10fbebe66332cd168061b9
Binary files /dev/null and b/part_3/target/libs/javafx-graphics-21.0.2-linux.jar differ
diff --git a/part_3/target/libs/javafx-graphics-21.0.2.jar b/part_3/target/libs/javafx-graphics-21.0.2.jar
new file mode 100644
index 0000000000000000000000000000000000000000..884499b7048b645c7263acb4da0d429775ad07c2
Binary files /dev/null and b/part_3/target/libs/javafx-graphics-21.0.2.jar differ
diff --git a/part_3/target/libs/junit-4.11.jar b/part_3/target/libs/junit-4.11.jar
new file mode 100644
index 0000000000000000000000000000000000000000..aaf74448492932e95902b40a70c7a4da5bad4744
Binary files /dev/null and b/part_3/target/libs/junit-4.11.jar differ
diff --git a/part_3/target/maven-archiver/pom.properties b/part_3/target/maven-archiver/pom.properties
new file mode 100644
index 0000000000000000000000000000000000000000..5d36a3dbf1de0b59b12af7e6718dca8cf8eacfee
--- /dev/null
+++ b/part_3/target/maven-archiver/pom.properties
@@ -0,0 +1,3 @@
+artifactId=sample
+groupId=org.openjfx
+version=1.0.0
diff --git a/part_3/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/part_3/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
new file mode 100644
index 0000000000000000000000000000000000000000..0e1537d05540ae11bf2528926334ca42838eaf18
--- /dev/null
+++ b/part_3/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
@@ -0,0 +1 @@
+org/openjfx/DealetTest.class
diff --git a/part_3/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/part_3/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
new file mode 100644
index 0000000000000000000000000000000000000000..cb88fd000b33182f4de96146bbcd9459c6013399
--- /dev/null
+++ b/part_3/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -0,0 +1 @@
+/home/rampfun/hepia/2eme/1_poo/project_object/part_3/src/test/java/org/openjfx/DealetTest.java
diff --git a/part_3/target/sample-1.0.0.jar b/part_3/target/sample-1.0.0.jar
new file mode 100644
index 0000000000000000000000000000000000000000..5091d69aa31ce04ecda7169002770da30ce5fe2a
Binary files /dev/null and b/part_3/target/sample-1.0.0.jar differ
diff --git a/part_3/target/surefire-reports/TEST-org.openjfx.DealetTest.xml b/part_3/target/surefire-reports/TEST-org.openjfx.DealetTest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..03372fce5d6ce62bfcdc34ce987c5a3c71a3b1bb
--- /dev/null
+++ b/part_3/target/surefire-reports/TEST-org.openjfx.DealetTest.xml
@@ -0,0 +1,64 @@
+<?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.xsd" name="org.openjfx.DealetTest" time="0.03" tests="7" errors="0" skipped="0" failures="0">
+  <properties>
+    <property name="java.specification.version" value="21"/>
+    <property name="sun.jnu.encoding" value="UTF-8"/>
+    <property name="java.class.path" value="/home/rampfun/hepia/2eme/1_poo/project_object/part_3/target/test-classes:/home/rampfun/.m2/repository/junit/junit/4.11/junit-4.11.jar:/home/rampfun/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/home/rampfun/.m2/repository/org/openjfx/javafx-controls/21.0.2/javafx-controls-21.0.2.jar:/home/rampfun/.m2/repository/org/openjfx/javafx-graphics/21.0.2/javafx-graphics-21.0.2.jar:/home/rampfun/.m2/repository/org/openjfx/javafx-base/21.0.2/javafx-base-21.0.2.jar:"/>
+    <property name="java.vm.vendor" value="Oracle Corporation"/>
+    <property name="sun.arch.data.model" value="64"/>
+    <property name="java.vendor.url" value="https://java.oracle.com/"/>
+    <property name="os.name" value="Linux"/>
+    <property name="java.vm.specification.version" value="21"/>
+    <property name="sun.java.launcher" value="SUN_STANDARD"/>
+    <property name="user.country" value="US"/>
+    <property name="sun.boot.library.path" value="/usr/local/jdk-21/lib"/>
+    <property name="sun.java.command" value="org.apache.maven.surefire.booter.ForkedBooter /home/rampfun/hepia/2eme/1_poo/project_object/part_3/target/surefire 2024-02-02T22-01-22_553-jvmRun1 surefire12859069346639590549tmp surefire_0933894748556831800tmp"/>
+    <property name="jdk.debug" value="release"/>
+    <property name="surefire.test.class.path" value="/home/rampfun/hepia/2eme/1_poo/project_object/part_3/target/test-classes:/home/rampfun/.m2/repository/junit/junit/4.11/junit-4.11.jar:/home/rampfun/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/home/rampfun/.m2/repository/org/openjfx/javafx-controls/21.0.2/javafx-controls-21.0.2.jar:/home/rampfun/.m2/repository/org/openjfx/javafx-graphics/21.0.2/javafx-graphics-21.0.2.jar:/home/rampfun/.m2/repository/org/openjfx/javafx-base/21.0.2/javafx-base-21.0.2.jar:"/>
+    <property name="sun.cpu.endian" value="little"/>
+    <property name="user.home" value="/home/rampfun"/>
+    <property name="user.language" value="en"/>
+    <property name="java.specification.vendor" value="Oracle Corporation"/>
+    <property name="jdk.module.path" value="/home/rampfun/hepia/2eme/1_poo/project_object/part_3/target/classes:/home/rampfun/.m2/repository/org/openjfx/javafx-controls/21.0.2/javafx-controls-21.0.2-linux.jar:/home/rampfun/.m2/repository/org/openjfx/javafx-graphics/21.0.2/javafx-graphics-21.0.2-linux.jar:/home/rampfun/.m2/repository/org/openjfx/javafx-base/21.0.2/javafx-base-21.0.2-linux.jar"/>
+    <property name="java.version.date" value="2023-09-19"/>
+    <property name="java.home" value="/usr/local/jdk-21"/>
+    <property name="file.separator" value="/"/>
+    <property name="basedir" value="/home/rampfun/hepia/2eme/1_poo/project_object/part_3"/>
+    <property name="java.vm.compressedOopsMode" value="Zero based"/>
+    <property name="line.separator" value="&#10;"/>
+    <property name="java.specification.name" value="Java Platform API Specification"/>
+    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>
+    <property name="surefire.real.class.path" value="/home/rampfun/.m2/repository/org/apache/maven/surefire/surefire-booter/2.22.1/surefire-booter-2.22.1.jar:/home/rampfun/.m2/repository/org/apache/maven/surefire/surefire-api/2.22.1/surefire-api-2.22.1.jar:/home/rampfun/.m2/repository/org/apache/maven/surefire/surefire-logger-api/2.22.1/surefire-logger-api-2.22.1.jar:/home/rampfun/hepia/2eme/1_poo/project_object/part_3/target/test-classes:/home/rampfun/.m2/repository/junit/junit/4.11/junit-4.11.jar:/home/rampfun/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/home/rampfun/.m2/repository/org/openjfx/javafx-controls/21.0.2/javafx-controls-21.0.2.jar:/home/rampfun/.m2/repository/org/openjfx/javafx-graphics/21.0.2/javafx-graphics-21.0.2.jar:/home/rampfun/.m2/repository/org/openjfx/javafx-base/21.0.2/javafx-base-21.0.2.jar:/home/rampfun/.m2/repository/org/apache/maven/surefire/surefire-junit4/2.22.1/surefire-junit4-2.22.1.jar"/>
+    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
+    <property name="java.runtime.version" value="21+35-2513"/>
+    <property name="user.name" value="rampfun"/>
+    <property name="stdout.encoding" value="UTF-8"/>
+    <property name="path.separator" value=":"/>
+    <property name="os.version" value="6.5.0-15-generic"/>
+    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>
+    <property name="file.encoding" value="UTF-8"/>
+    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>
+    <property name="localRepository" value="/home/rampfun/.m2/repository"/>
+    <property name="java.vendor.url.bug" value="https://bugreport.java.com/bugreport/"/>
+    <property name="java.io.tmpdir" value="/tmp"/>
+    <property name="java.version" value="21"/>
+    <property name="user.dir" value="/home/rampfun/hepia/2eme/1_poo/project_object/part_3"/>
+    <property name="os.arch" value="amd64"/>
+    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
+    <property name="native.encoding" value="UTF-8"/>
+    <property name="java.library.path" value="/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib"/>
+    <property name="java.vm.info" value="mixed mode"/>
+    <property name="stderr.encoding" value="UTF-8"/>
+    <property name="java.vendor" value="Oracle Corporation"/>
+    <property name="java.vm.version" value="21+35-2513"/>
+    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
+    <property name="java.class.version" value="65.0"/>
+  </properties>
+  <testcase name="drawTest" classname="org.openjfx.DealetTest" time="0.005"/>
+  <testcase name="getFirstCardTest" classname="org.openjfx.DealetTest" time="0"/>
+  <testcase name="ConstructorTest" classname="org.openjfx.DealetTest" time="0"/>
+  <testcase name="compareHandTest" classname="org.openjfx.DealetTest" time="0"/>
+  <testcase name="resetTest" classname="org.openjfx.DealetTest" time="0"/>
+  <testcase name="getHandTest" classname="org.openjfx.DealetTest" time="0"/>
+  <testcase name="scoreTest" classname="org.openjfx.DealetTest" time="0"/>
+</testsuite>
\ No newline at end of file
diff --git a/part_3/target/surefire-reports/org.openjfx.DealetTest.txt b/part_3/target/surefire-reports/org.openjfx.DealetTest.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f06a4c45164f7415c41baf3afb67e219f823fe22
--- /dev/null
+++ b/part_3/target/surefire-reports/org.openjfx.DealetTest.txt
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------------------
+Test set: org.openjfx.DealetTest
+-------------------------------------------------------------------------------
+Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.03 s - in org.openjfx.DealetTest
diff --git a/part_3/target/test-classes/META-INF/jpms.args b/part_3/target/test-classes/META-INF/jpms.args
new file mode 100644
index 0000000000000000000000000000000000000000..6254de67504b0abfdf54cf19cc387f54e526c592
--- /dev/null
+++ b/part_3/target/test-classes/META-INF/jpms.args
@@ -0,0 +1,4 @@
+--patch-module
+org.openjfx=_
+--add-reads
+org.openjfx=ALL-UNNAMED
diff --git a/part_3/target/test-classes/org/openjfx/DealetTest.class b/part_3/target/test-classes/org/openjfx/DealetTest.class
new file mode 100644
index 0000000000000000000000000000000000000000..1f3e8d6d9f2d709918e906b48f3653968a9129f1
Binary files /dev/null and b/part_3/target/test-classes/org/openjfx/DealetTest.class differ