diff --git a/pom.xml b/pom.xml index 250218dcad301f8f9f114f237cb1409fd19eb9c5..1c475bbd07c5174c768a4c245bf346388a6f33c0 100644 --- a/pom.xml +++ b/pom.xml @@ -4,27 +4,39 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> - <groupId>org.example</groupId> + <groupId>org.idatt2003</groupId> <artifactId>ChaosGame</artifactId> <version>1.0-SNAPSHOT</version> <name>ChaosGame</name> + <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <junit.version>5.10.0</junit.version> </properties> + + <!-- Dependencies --> <dependencies> + <!-- JavaFX controls--> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>21</version> </dependency> + <!-- JavaFX fxml--> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>21</version> </dependency> + <!-- JavaFX media--> + <dependency> + <groupId>org.openjfx</groupId> + <artifactId>javafx-media</artifactId> + <version>21.0.2</version> + </dependency> + <!-- JUnit 5 engine and api dependencies --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> @@ -37,11 +49,11 @@ <version>${junit.version}</version> <scope>test</scope> </dependency> - <dependency> - <groupId>org.openjfx</groupId> - <artifactId>javafx-media</artifactId> - <version>21.0.2</version> - </dependency> + + <!-- Mockito Dependencies --> + <!-- Tried to implement mockito in controller + testing, but did not work because + controller classes uses JavaFX components--> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> @@ -54,8 +66,6 @@ <version>3.12.4</version> <scope>test</scope> </dependency> - - <!-- Mockito JUnit Jupiter Dependency --> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-junit-jupiter</artifactId> @@ -64,9 +74,11 @@ </dependency> </dependencies> + <!-- Build configuration --> <build> <plugins> <plugin> + <!-- Compiler plugin --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> @@ -76,6 +88,7 @@ </configuration> </plugin> <plugin> + <!-- JavaFX plugin --> <groupId>org.openjfx</groupId> <artifactId>javafx-maven-plugin</artifactId> <version>0.0.8</version> @@ -84,7 +97,7 @@ <!-- Default configuration for running with: mvn clean javafx:run --> <id>default-cli</id> <configuration> - <mainClass>org.example.chaosgame/org.example.chaosgame.MainApp</mainClass> + <mainClass>org.idatt2003/org.idatt2003.MainApp</mainClass> <launcher>app</launcher> <jlinkZipName>app</jlinkZipName> <jlinkImageName>app</jlinkImageName> diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index c70812699bb333697db7104f6b1f23d8790fafdf..49050d498d8591559b60367b212f8731e8533c59 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -1,9 +1,9 @@ -module org.example.chaosgame { +module org.idatt2003 { requires javafx.controls; requires javafx.fxml; requires javafx.media; - opens org.example.chaosgame to javafx.fxml; - exports org.example.chaosgame; + opens org.idatt2003 to javafx.fxml; + exports org.idatt2003; } \ No newline at end of file diff --git a/src/main/java/org/example/chaosgame/model/transformations/Transform2D.java b/src/main/java/org/example/chaosgame/model/transformations/Transform2D.java deleted file mode 100644 index c97d56a76b4b050050d7a306ad13bf2b04da1c43..0000000000000000000000000000000000000000 --- a/src/main/java/org/example/chaosgame/model/transformations/Transform2D.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.example.chaosgame.model.transformations; - -import org.example.chaosgame.model.linalg.Vector2D; - -/** - * Interface for 2D transformations. - */ -public interface Transform2D { - Vector2D transform(Vector2D point); -} diff --git a/src/main/java/org/example/chaosgame/Main.java b/src/main/java/org/idatt2003/Main.java similarity index 88% rename from src/main/java/org/example/chaosgame/Main.java rename to src/main/java/org/idatt2003/Main.java index 2e188dd5c1e626f16eed47f1693d428d4f341e21..57b87ad335c8f5d82d91333a0efcb23a5f69b774 100644 --- a/src/main/java/org/example/chaosgame/Main.java +++ b/src/main/java/org/idatt2003/Main.java @@ -1,4 +1,4 @@ -package org.example.chaosgame; +package org.idatt2003; /** * Main class for the application. diff --git a/src/main/java/org/example/chaosgame/MainApp.java b/src/main/java/org/idatt2003/MainApp.java similarity index 84% rename from src/main/java/org/example/chaosgame/MainApp.java rename to src/main/java/org/idatt2003/MainApp.java index 9ee9023fea2108cfdcccbac8cfcc9c1ea564c2ab..5c4bee1c936f9e681f56019c23078fdfdd8ee4cf 100644 --- a/src/main/java/org/example/chaosgame/MainApp.java +++ b/src/main/java/org/idatt2003/MainApp.java @@ -1,13 +1,13 @@ -package org.example.chaosgame; +package org.idatt2003; import java.util.Objects; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.StackPane; import javafx.stage.Stage; -import org.example.chaosgame.controller.ChaosGameController; -import org.example.chaosgame.controller.ExploreGameController; -import org.example.chaosgame.controller.PageController; +import org.idatt2003.controller.ChaosGameController; +import org.idatt2003.controller.ExploreGameController; +import org.idatt2003.controller.PageController; /** * This is the main class for the JavaFX application. diff --git a/src/main/java/org/example/chaosgame/controller/CanvasPainter.java b/src/main/java/org/idatt2003/controller/CanvasPainter.java similarity index 95% rename from src/main/java/org/example/chaosgame/controller/CanvasPainter.java rename to src/main/java/org/idatt2003/controller/CanvasPainter.java index aac42a91c621cbdc01595f7c95a60449754f9220..c6d7e30b907ce4b97e75471cfc41c31a313c4a19 100644 --- a/src/main/java/org/example/chaosgame/controller/CanvasPainter.java +++ b/src/main/java/org/idatt2003/controller/CanvasPainter.java @@ -1,10 +1,10 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import javafx.scene.canvas.GraphicsContext; import javafx.scene.image.PixelWriter; import javafx.scene.image.WritableImage; import javafx.scene.paint.Color; -import org.example.chaosgame.model.chaos.ChaosCanvas; +import org.idatt2003.model.chaos.ChaosCanvas; /** @@ -50,6 +50,8 @@ public abstract class CanvasPainter { /** * Method for clearing the canvas. + * Clears entire GraphicsContext canvas with built-in + * clearRect method. * * @param gc the graphics context */ diff --git a/src/main/java/org/example/chaosgame/controller/ChaosGameController.java b/src/main/java/org/idatt2003/controller/ChaosGameController.java similarity index 87% rename from src/main/java/org/example/chaosgame/controller/ChaosGameController.java rename to src/main/java/org/idatt2003/controller/ChaosGameController.java index b21ae7c80c225b79e1fbd48e346ebc5bab1583ff..d9dd3c160a45d28685cdf513f6410cc18ddc3e03 100644 --- a/src/main/java/org/example/chaosgame/controller/ChaosGameController.java +++ b/src/main/java/org/idatt2003/controller/ChaosGameController.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import java.io.File; import java.io.IOException; @@ -12,22 +12,22 @@ import javafx.scene.layout.StackPane; import javafx.scene.paint.Color; import javafx.stage.FileChooser; import javafx.util.Pair; -import org.example.chaosgame.controller.interfaces.GameController; -import org.example.chaosgame.controller.interfaces.Observer; -import org.example.chaosgame.controller.interfaces.Subject; -import org.example.chaosgame.model.chaos.ChaosGame; -import org.example.chaosgame.model.chaos.ChaosGameDescription; -import org.example.chaosgame.model.chaos.ChaosGameType; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; -import org.example.chaosgame.model.transformations.JuliaTransform; -import org.example.chaosgame.model.transformations.Transform2D; -import org.example.chaosgame.view.ChaosPage; -import org.example.chaosgame.view.components.AlertUtility; -import org.example.chaosgame.view.components.CreateFractalDialog; -import org.example.chaosgame.view.components.MinMaxDialog; +import org.idatt2003.controller.interfaces.GameController; +import org.idatt2003.controller.interfaces.Observer; +import org.idatt2003.controller.interfaces.Subject; +import org.idatt2003.model.chaos.ChaosGame; +import org.idatt2003.model.chaos.ChaosGameDescription; +import org.idatt2003.model.chaos.ChaosGameType; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; +import org.idatt2003.model.transformations.JuliaTransform; +import org.idatt2003.model.transformations.Transform2D; +import org.idatt2003.view.ChaosPage; +import org.idatt2003.view.components.AlertUtility; +import org.idatt2003.view.components.CreateFractalDialog; +import org.idatt2003.view.components.MinMaxDialog; /** * Controller class for the chaos game. @@ -49,7 +49,8 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj * Constructor for the ChaosGameController. * * <p>Initializes the ChaosGame and ChaosPage. - * Register the ChaosGame as an observer. + * Registers the controller as an observer of the + * chaos game * */ public ChaosGameController() { @@ -81,6 +82,7 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj /** * Method for selecting a new ChaosGameDescription. + * Uses the ChaosGameDescriptionFactory to change the game * * @param selectedGame Name of the selected game */ @@ -131,9 +133,10 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj /** * Method for setting the min and max coordinates for the chaos game. + * Updates the ChaosGameDescription to the new coordinate values. + * Catches different exceptions and displays a fitting message to user. * * <p>Opens a dialog for the user to enter the coordinates. - * */ public void setMaxMinCoords() { MinMaxDialog dialog = new MinMaxDialog(); @@ -191,7 +194,7 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj /** * Method for user creation of fractal. - * {@link org.example.chaosgame.view.components.CreateFractalDialog} returns either a + * {@link CreateFractalDialog} returns either a * {@link java.util.List}<{@link java.util.List}<{@link java.lang.String}>> * or a {@link javafx.util.Pair}<{@link java.lang.String}, {@link java.lang.String}>. * @@ -269,6 +272,9 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj /** * Method for resetting the chaos game. + * Resets the total steps. + * Updates the information on the chaos page's top bar + * and clears both the ChaosCanvas and the canvas */ public void resetGame() { chaosGame.resetTotalSteps(); @@ -322,12 +328,20 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj } } + /** + * Method for updating the fractal color. + * Sets the color than updates the canvas with the new color. + * @param color the new color. + */ @Override public void updateFractalColor(Color color) { setFractalColor(color); updateCanvas(chaosGame.getCanvas(), chaosPage.getGraphicsContext()); } + /** + * Notifies the page observers when the button is clicked. + */ @Override public void homeButtonClicked() { notifyObservers(); @@ -347,7 +361,7 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj } /** - * Method for registering observers. + * Method for registering page observers. * * @param observer Observer to register */ @@ -357,7 +371,7 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj } /** - * Method for removing observers. + * Method for removing page observers. * * @param observer Observer to remove */ @@ -367,7 +381,10 @@ public class ChaosGameController extends CanvasPainter implements Observer, Subj } /** - * Method for notifying observers. + * Method for notifying page observers. + * Notifies if the displaying pages should + * be changed. + * */ @Override public void notifyObservers() { diff --git a/src/main/java/org/example/chaosgame/controller/ChaosGameDescriptionFactory.java b/src/main/java/org/idatt2003/controller/ChaosGameDescriptionFactory.java similarity index 86% rename from src/main/java/org/example/chaosgame/controller/ChaosGameDescriptionFactory.java rename to src/main/java/org/idatt2003/controller/ChaosGameDescriptionFactory.java index db3de3d27fb79488505c1f1d61df2ad70bffb01a..2b88d945dd264d9aadb2e0a235a9e69980023d1f 100644 --- a/src/main/java/org/example/chaosgame/controller/ChaosGameDescriptionFactory.java +++ b/src/main/java/org/idatt2003/controller/ChaosGameDescriptionFactory.java @@ -1,13 +1,14 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import java.util.List; -import org.example.chaosgame.model.chaos.ChaosGameDescription; -import org.example.chaosgame.model.chaos.ChaosGameType; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; -import org.example.chaosgame.model.transformations.JuliaTransform; + +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; +import org.idatt2003.model.transformations.JuliaTransform; +import org.idatt2003.model.chaos.ChaosGameDescription; +import org.idatt2003.model.chaos.ChaosGameType; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Matrix2x2; /** * Factory class for creating ChaosGameDescription objects. diff --git a/src/main/java/org/example/chaosgame/controller/ChaosGameFileHandler.java b/src/main/java/org/idatt2003/controller/ChaosGameFileHandler.java similarity index 93% rename from src/main/java/org/example/chaosgame/controller/ChaosGameFileHandler.java rename to src/main/java/org/idatt2003/controller/ChaosGameFileHandler.java index 050be3f8ffd4d511b5a88037a999ac96028cce6c..24e99b705206118b6b3e4c042db5a508ceeb6928 100644 --- a/src/main/java/org/example/chaosgame/controller/ChaosGameFileHandler.java +++ b/src/main/java/org/idatt2003/controller/ChaosGameFileHandler.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import java.io.BufferedReader; import java.io.BufferedWriter; @@ -7,13 +7,14 @@ import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import org.example.chaosgame.model.chaos.ChaosGameDescription; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; -import org.example.chaosgame.model.transformations.JuliaTransform; -import org.example.chaosgame.model.transformations.Transform2D; + +import org.idatt2003.model.chaos.ChaosGameDescription; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; +import org.idatt2003.model.transformations.JuliaTransform; +import org.idatt2003.model.transformations.Transform2D; /** * Class for reading and writing chaos game descriptions from and to files. diff --git a/src/main/java/org/example/chaosgame/controller/ExploreGameController.java b/src/main/java/org/idatt2003/controller/ExploreGameController.java similarity index 86% rename from src/main/java/org/example/chaosgame/controller/ExploreGameController.java rename to src/main/java/org/idatt2003/controller/ExploreGameController.java index a72fe1fc9ed44263d6cd94ce3bea80c014337fd1..7753141ef1651ebdbc573475f7e8d10f5980dd9b 100644 --- a/src/main/java/org/example/chaosgame/controller/ExploreGameController.java +++ b/src/main/java/org/idatt2003/controller/ExploreGameController.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import java.util.ArrayList; import java.util.List; @@ -7,17 +7,17 @@ import javafx.scene.input.MouseEvent; import javafx.scene.input.ScrollEvent; import javafx.scene.layout.StackPane; import javafx.scene.paint.Color; -import org.example.chaosgame.controller.interfaces.GameController; -import org.example.chaosgame.controller.interfaces.Observer; -import org.example.chaosgame.controller.interfaces.Subject; -import org.example.chaosgame.model.chaos.ChaosCanvas; -import org.example.chaosgame.model.chaos.ChaosGameDescription; -import org.example.chaosgame.model.chaos.ExploreGame; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.ExploreJulia; -import org.example.chaosgame.model.transformations.Transform2D; -import org.example.chaosgame.view.ExplorePage; +import org.idatt2003.controller.interfaces.GameController; +import org.idatt2003.controller.interfaces.Observer; +import org.idatt2003.controller.interfaces.Subject; +import org.idatt2003.model.chaos.ExploreGame; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.ExploreJulia; +import org.idatt2003.model.transformations.Transform2D; +import org.idatt2003.model.chaos.ChaosCanvas; +import org.idatt2003.model.chaos.ChaosGameDescription; +import org.idatt2003.view.ExplorePage; /** * Controller class for the ExploreGame. @@ -26,7 +26,7 @@ import org.example.chaosgame.view.ExplorePage; * * <p>The controller implements the GameController, and is a Subject and Observer. */ -public class ExploreGameController extends CanvasPainter implements Observer, Subject, GameController { +public class ExploreGameController extends CanvasPainter implements Observer, Subject, GameController { private ExploreGame exploreGame; private final ExplorePage explorePage; private ChaosCanvas chaosCanvas; @@ -46,6 +46,8 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su /** * Constructor for ExploreGameController. * Initializes the ExploreGame and ExplorePage. + * Registers the controller as an observer of the explore game. + * */ public ExploreGameController() { ExploreJulia exploreJulia = new ExploreJulia(new Complex(-0.835, 0.2321)); @@ -80,7 +82,9 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su /** * Method for handling mouse dragged events. - * Moves the canvas based on the distance dragged. + * Moves the canvas based on the distance dragged, + * by translating in the canvas in the x- and y-direction. + * Updates the drag start position. * * @param event MouseEvent */ @@ -141,6 +145,7 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su * <a href="https://github.com/majidrouhani/idatt2003-gui-demo-mandelbrot"> * idatt2003-gui-demo-mandelbrot</a> * + * * @param event ScrollEvent */ public void onScroll(ScrollEvent event) { @@ -205,7 +210,11 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su this.canvas.setScaleY(1); } - + /** + * Method for handling home button clicks. + * Notifies observers. + */ + @Override public void homeButtonClicked() { notifyObservers(); } @@ -240,6 +249,14 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su updateExplorePage(); } + + /** + * Method for binding the canvas to the main pane. + * Binds the canvas width and height to the main pane width and height. + * Updates the canvas width and height when the main pane width and height changes with listeners. + * + * @param mainPane Main pane of the application + */ @Override public void setBind(StackPane mainPane) { canvas.widthProperty().bind(mainPane.widthProperty().multiply(0.85)); @@ -258,6 +275,12 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su }); } + /** + * Method for updating the Julia value. + * + * @param partType Part type + * @param value New value + */ @Override public void updateJuliaValue(String partType, double value) { ExploreJulia exploreTransform = @@ -284,7 +307,7 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su } /** - * Method for registering an observer. + * Method for registering a page observer. * * @param observer Observer */ @@ -294,7 +317,7 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su } /** - * Method for removing an observer. + * Method for removing a page observer. * * @param observer Observer */ @@ -304,7 +327,7 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su } /** - * Method for notifying observers. + * Method for notifying page observers. */ @Override public void notifyObservers() { @@ -312,4 +335,6 @@ public class ExploreGameController extends CanvasPainter implements Observer, Su pageObserver.update(); } } + + } diff --git a/src/main/java/org/example/chaosgame/controller/HomeController.java b/src/main/java/org/idatt2003/controller/HomeController.java similarity index 83% rename from src/main/java/org/example/chaosgame/controller/HomeController.java rename to src/main/java/org/idatt2003/controller/HomeController.java index 8695475a5698cb6c6eb0f06d34b94fe70cb37ad8..30b88acfe423a0a822e7499381537d13c4d32cd3 100644 --- a/src/main/java/org/example/chaosgame/controller/HomeController.java +++ b/src/main/java/org/idatt2003/controller/HomeController.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import javafx.event.EventType; import javafx.scene.effect.ColorAdjust; @@ -7,7 +7,7 @@ import javafx.scene.media.MediaPlayer; import javafx.scene.media.MediaView; import javafx.scene.text.Text; import javafx.util.Duration; -import org.example.chaosgame.view.HomePage; +import org.idatt2003.view.HomePage; /** * Controller for the home page. @@ -30,7 +30,9 @@ public class HomeController { } /** - * Handles mouse events for the home page. + * Handles MOUSE_ENTERED or MOUSE_EXITED events + * for the home page. Either plays or pauses video and adds + * opacity to the text and color adjusts the MediaView. * * @param mouseEvent the mouse event * @param video the video @@ -46,7 +48,7 @@ public class HomeController { view.setEffect(colorAdjust); header.setEffect(headerAdjust); header.setOpacity(0.2); - } else { + } else if (mouseEvent == MouseEvent.MOUSE_EXITED){ video.seek(Duration.seconds(0)); video.pause(); view.setEffect(colorAdjust); diff --git a/src/main/java/org/example/chaosgame/controller/PageController.java b/src/main/java/org/idatt2003/controller/PageController.java similarity index 95% rename from src/main/java/org/example/chaosgame/controller/PageController.java rename to src/main/java/org/idatt2003/controller/PageController.java index e8883f59932f90e390439bb4d34d2c6be884f8c1..03ddb8f23599985434fe2798070f95c01d22c632 100644 --- a/src/main/java/org/example/chaosgame/controller/PageController.java +++ b/src/main/java/org/idatt2003/controller/PageController.java @@ -1,11 +1,11 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import java.util.HashMap; import java.util.Map; import javafx.scene.Node; import javafx.scene.layout.StackPane; -import org.example.chaosgame.controller.interfaces.Observer; -import org.example.chaosgame.view.HomePage; +import org.idatt2003.controller.interfaces.Observer; +import org.idatt2003.view.HomePage; /** * Controller for the different pages in the application. diff --git a/src/main/java/org/example/chaosgame/controller/interfaces/GameController.java b/src/main/java/org/idatt2003/controller/interfaces/GameController.java similarity index 79% rename from src/main/java/org/example/chaosgame/controller/interfaces/GameController.java rename to src/main/java/org/idatt2003/controller/interfaces/GameController.java index 7c29ebd4be12149da3dad240806c1eecbf30ff48..61d5ea9f363f32679567dc1ce8698b8ce3c74ba5 100644 --- a/src/main/java/org/example/chaosgame/controller/interfaces/GameController.java +++ b/src/main/java/org/idatt2003/controller/interfaces/GameController.java @@ -1,11 +1,13 @@ -package org.example.chaosgame.controller.interfaces; +package org.idatt2003.controller.interfaces; import javafx.scene.layout.StackPane; import javafx.scene.paint.Color; -import org.example.chaosgame.view.GamePage; +import org.idatt2003.view.GamePage; /** * Interface for the GameController. + * Includes abstract methods for setting canvas bind, + * updating julia values, home button clicked and updating fractal colors */ public interface GameController { diff --git a/src/main/java/org/example/chaosgame/controller/interfaces/Observer.java b/src/main/java/org/idatt2003/controller/interfaces/Observer.java similarity index 66% rename from src/main/java/org/example/chaosgame/controller/interfaces/Observer.java rename to src/main/java/org/idatt2003/controller/interfaces/Observer.java index e20769649faa155b914b79bee914a6f32543018e..72c2e090459e45da893434521fe591949e664a3e 100644 --- a/src/main/java/org/example/chaosgame/controller/interfaces/Observer.java +++ b/src/main/java/org/idatt2003/controller/interfaces/Observer.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller.interfaces; +package org.idatt2003.controller.interfaces; /** * Observer interface for the observer pattern. diff --git a/src/main/java/org/example/chaosgame/controller/interfaces/Subject.java b/src/main/java/org/idatt2003/controller/interfaces/Subject.java similarity index 78% rename from src/main/java/org/example/chaosgame/controller/interfaces/Subject.java rename to src/main/java/org/idatt2003/controller/interfaces/Subject.java index 9c0605d4fb3e3c1a5a36c6f925b9ab060be5e63b..ef59e5b961e0e658deb1784f5965c382015a0370 100644 --- a/src/main/java/org/example/chaosgame/controller/interfaces/Subject.java +++ b/src/main/java/org/idatt2003/controller/interfaces/Subject.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller.interfaces; +package org.idatt2003.controller.interfaces; /** * Subject interface for the observer pattern. diff --git a/src/main/java/org/example/chaosgame/model/chaos/ChaosCanvas.java b/src/main/java/org/idatt2003/model/chaos/ChaosCanvas.java similarity index 96% rename from src/main/java/org/example/chaosgame/model/chaos/ChaosCanvas.java rename to src/main/java/org/idatt2003/model/chaos/ChaosCanvas.java index ed700b4911756bd4d62d8706bedc52679807e21e..1f9ab6f1a8a9b08cddd31ed3d1f4f749a13a67b0 100644 --- a/src/main/java/org/example/chaosgame/model/chaos/ChaosCanvas.java +++ b/src/main/java/org/idatt2003/model/chaos/ChaosCanvas.java @@ -1,8 +1,8 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; /** * A class representing a canvas for the chaos game. diff --git a/src/main/java/org/example/chaosgame/model/chaos/ChaosGame.java b/src/main/java/org/idatt2003/model/chaos/ChaosGame.java similarity index 93% rename from src/main/java/org/example/chaosgame/model/chaos/ChaosGame.java rename to src/main/java/org/idatt2003/model/chaos/ChaosGame.java index 03922e87194fefc3089ad23fa8d70a1de9180c1c..119c913cb5051c2428ca5eefdfae6ded98d1b5b0 100644 --- a/src/main/java/org/example/chaosgame/model/chaos/ChaosGame.java +++ b/src/main/java/org/idatt2003/model/chaos/ChaosGame.java @@ -1,12 +1,12 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; import java.util.ArrayList; -import java.util.Currency; import java.util.List; import java.util.Random; -import org.example.chaosgame.controller.interfaces.Observer; -import org.example.chaosgame.controller.interfaces.Subject; -import org.example.chaosgame.model.linalg.Vector2D; + +import org.idatt2003.controller.interfaces.Observer; +import org.idatt2003.controller.interfaces.Subject; +import org.idatt2003.model.linalg.Vector2D; /** * Class for running a chaos game. @@ -102,6 +102,8 @@ public class ChaosGame implements Subject { /** * Method for setting the chaos game description. + * Sets the description, resets the total steps, + * sets the chaosCanvas and * * @param newDescription New description of the chaos game * @throws IllegalArgumentException If newDescription is null @@ -181,6 +183,7 @@ public class ChaosGame implements Subject { * Method for running the chaos game with probabilities. * Randomly selects a transformation from the description based on the probabilities * and applies it to the current point. + * GitHub Copilot helped generate code logic. * * @param steps Number of steps to run * @param probabilities List of probabilities for the transformations @@ -206,7 +209,7 @@ public class ChaosGame implements Subject { } /** - * Method for registering an observer. + * Method for registering a game observer. * * @param gameObserver Observer to register */ @@ -216,7 +219,7 @@ public class ChaosGame implements Subject { } /** - * Method for removing an observer. + * Method for removing a game observer. * * @param gameObserver Observer to remove */ @@ -226,7 +229,8 @@ public class ChaosGame implements Subject { } /** - * Method for notifying observers. + * Method for notifying observers of the game. + * */ @Override public void notifyObservers() { diff --git a/src/main/java/org/example/chaosgame/model/chaos/ChaosGameDescription.java b/src/main/java/org/idatt2003/model/chaos/ChaosGameDescription.java similarity index 81% rename from src/main/java/org/example/chaosgame/model/chaos/ChaosGameDescription.java rename to src/main/java/org/idatt2003/model/chaos/ChaosGameDescription.java index cd4056afcdb02952946c35a7210b684494b3f232..180db0b24baf08fe59b7ce1ca34ce1d34c678504 100644 --- a/src/main/java/org/example/chaosgame/model/chaos/ChaosGameDescription.java +++ b/src/main/java/org/idatt2003/model/chaos/ChaosGameDescription.java @@ -1,9 +1,9 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; import java.util.List; import java.util.Objects; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.Transform2D; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.Transform2D; /** @@ -20,6 +20,8 @@ public class ChaosGameDescription { /** * Constructor for ChaosGameDescription. + * Validates the coordinates and transformations, + * Then sets the * * @param minCoords Minimum coordinates of the game area * @@ -68,8 +70,11 @@ public class ChaosGameDescription { * @param minCoords Minimum coordinates of the game area * * @param maxCoords Maximum coordinates of the game area + * + * @throws IllegalArgumentException if transformation is null or has more elements than 4 */ - private void validateCoordinates(Vector2D minCoords, Vector2D maxCoords) { + private void validateCoordinates(Vector2D minCoords, Vector2D maxCoords) + throws IllegalArgumentException { if (minCoords.getX() < -50 || minCoords.getY() < -50 || minCoords.getX() > 50 || minCoords.getY() > 50 || maxCoords.getX() > 50 || maxCoords.getY() > 50 @@ -84,20 +89,6 @@ public class ChaosGameDescription { } } - /** - * Method for validating the transformations. - * - * @param transforms List of transformations to apply to the points - */ - private void validateTransforms(List<Transform2D> transforms) { - if (transforms == null) { - throw new IllegalArgumentException("Transformations cannot be null"); - } - if (transforms.size() > 4 || transforms.isEmpty()) { - throw new IllegalArgumentException("Number of transformations must be between 1 and 4"); - } - } - public Vector2D getMinCoords() { return minCoords; } @@ -114,15 +105,47 @@ public class ChaosGameDescription { return probabilities; } + /** + * Method for validating the transformations. + * + * @param transforms List of transformations to apply to the points + * + * @throws IllegalArgumentException if transformation is null, empty or has more elements than 4 + */ + private void validateTransforms(List<Transform2D> transforms) throws IllegalArgumentException { + if (transforms == null) { + throw new IllegalArgumentException("Transformations cannot be null"); + } + if (transforms.size() > 4 || transforms.isEmpty()) { + throw new IllegalArgumentException("Number of transformations must be between 1 and 4"); + } + } + + /** + * Method for setting the description transformations. + * Validates first then, sets the transformations. + * + * @param transforms List of transformations to set + */ public void setTransforms(List<Transform2D> transforms) { validateTransforms(transforms); this.transforms = transforms; } + /** + * Method for setting the descriptions min coordinates + * Does not validate because of the drag and drop functionality in explore game + * @param minCoords new min coordinates + */ public void setMinCoords(Vector2D minCoords) { this.minCoords = minCoords; } + /** + * Method for setting the descriptions max coordinates + * Does not validate because of the drag and drop functionality in explore game + * @param maxCoords new max coordinates + */ public void setMaxCoords(Vector2D maxCoords) { this.maxCoords = maxCoords; } diff --git a/src/main/java/org/example/chaosgame/model/chaos/ChaosGameType.java b/src/main/java/org/idatt2003/model/chaos/ChaosGameType.java similarity index 80% rename from src/main/java/org/example/chaosgame/model/chaos/ChaosGameType.java rename to src/main/java/org/idatt2003/model/chaos/ChaosGameType.java index c709d9a32442da82d4072798fa91534f09e90d01..e0ca41e8d4455a7d021202d41c899ec1070e1680 100644 --- a/src/main/java/org/example/chaosgame/model/chaos/ChaosGameType.java +++ b/src/main/java/org/idatt2003/model/chaos/ChaosGameType.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; /** * Enum for the different types of chaos games. diff --git a/src/main/java/org/example/chaosgame/model/chaos/ExploreGame.java b/src/main/java/org/idatt2003/model/chaos/ExploreGame.java similarity index 72% rename from src/main/java/org/example/chaosgame/model/chaos/ExploreGame.java rename to src/main/java/org/idatt2003/model/chaos/ExploreGame.java index a7cd8ea5c2e342d595ad24f83d6314ed0cd99bd9..efa29b1ea7e96b480f074340585f836c7a2f7475 100644 --- a/src/main/java/org/example/chaosgame/model/chaos/ExploreGame.java +++ b/src/main/java/org/idatt2003/model/chaos/ExploreGame.java @@ -1,16 +1,18 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; import java.util.ArrayList; import java.util.List; import java.util.stream.IntStream; -import org.example.chaosgame.controller.interfaces.Observer; -import org.example.chaosgame.controller.interfaces.Subject; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.Transform2D; + +import org.idatt2003.controller.interfaces.Observer; +import org.idatt2003.controller.interfaces.Subject; +import org.idatt2003.model.linalg.Vector2D; /** - * Class for exploring julia sets. + * Class for exploring fractal sets. + * Currently, it is only set to calculate julia fractals, + * can be expanded to work with other fractals. */ public class ExploreGame implements Subject { private static final int MAX_ITER = 256; @@ -21,6 +23,10 @@ public class ExploreGame implements Subject { /** * Constructor for ExploreGame. + * Creates a new ExploreGame object with the + * given description, width, and height. + * Creates a new ChaosCanvas object with the + * minCoords and maxCoords in the ChaosGameDescription. * * @param description Description of the chaos game * @@ -42,13 +48,12 @@ public class ExploreGame implements Subject { * * @param description Description of the chaos game * - * @param width Width of the canvas - * - * @param height Height of the canvas + * @param canvas ChaosCanvas object */ - public void setExploreGame(ChaosGameDescription description, int width, int height) { + public void setExploreGame(ChaosGameDescription description, ChaosCanvas canvas) { this.description = description; - setChaosCanvas(description.getMinCoords(), description.getMaxCoords(), width, height); + this.canvas = canvas; + this.currentPoint = new Vector2D(0.0, 0.0); } @@ -60,20 +65,6 @@ public class ExploreGame implements Subject { return description; } - /** - * Method for setting the chaos canvas. - * - * @param minCoords Minimum coordinates of the canvas - * - * @param maxCoords Maximum coordinates of the canvas - * - * @param width Width of the canvas - * - * @param height Height of the canvas - */ - public void setChaosCanvas(Vector2D minCoords, Vector2D maxCoords, int width, int height) { - this.canvas = new ChaosCanvas(width, height, minCoords, maxCoords); - } /** * Method for exploring fractals. Iterates over all pixels in the canvas @@ -136,8 +127,4 @@ public class ExploreGame implements Subject { gameObserver.update(); } } - - public void setDescription(Vector2D minCoords, Vector2D maxCoords, List<Transform2D> transforms) { - this.description = new ChaosGameDescription(minCoords, maxCoords, transforms); - } } diff --git a/src/main/java/org/example/chaosgame/model/linalg/Complex.java b/src/main/java/org/idatt2003/model/linalg/Complex.java similarity index 72% rename from src/main/java/org/example/chaosgame/model/linalg/Complex.java rename to src/main/java/org/idatt2003/model/linalg/Complex.java index 8e671f699155addb30a3003d54272274c3124352..396b0ce2a8fea6ea056014498311ed4042bf801a 100644 --- a/src/main/java/org/example/chaosgame/model/linalg/Complex.java +++ b/src/main/java/org/idatt2003/model/linalg/Complex.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.linalg; +package org.idatt2003.model.linalg; import java.util.Random; @@ -23,10 +23,22 @@ public class Complex extends Vector2D { /** * Method to calculate the square root of a complex number. + * This formula describes the transformation: + * <br> + * <span style="font-family: Courier"> + * z → ±√̅(̅a̅ ̅+̅ + * ̅b̅i̅) </span> + * + * where: + * <ul> + * <li>a is the real part of the complex number</li> + * <li>b is the imaginary part of the complex number</li> + * <li>i is the imaginary unit</li> + * </ul> * * @param realPart the real part of the complex number. * @param imaginaryPart the imaginary part of the complex number. - * @return a new complex number that is the square root of the input cRe and cIm. + * @return a new complex number that is the square root of the input realPart and imaginaryPart. */ public Complex sqrt(double realPart, double imaginaryPart) { double a = Math.pow(realPart, 2) + Math.pow(imaginaryPart, 2); diff --git a/src/main/java/org/example/chaosgame/model/linalg/Matrix2x2.java b/src/main/java/org/idatt2003/model/linalg/Matrix2x2.java similarity index 89% rename from src/main/java/org/example/chaosgame/model/linalg/Matrix2x2.java rename to src/main/java/org/idatt2003/model/linalg/Matrix2x2.java index ea2b4911ee21761c87b45e26ff255d7333db036e..7ec692e88aadb8feeea1ee4ec521dd62ec2a4303 100644 --- a/src/main/java/org/example/chaosgame/model/linalg/Matrix2x2.java +++ b/src/main/java/org/idatt2003/model/linalg/Matrix2x2.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.linalg; +package org.idatt2003.model.linalg; import java.util.Objects; @@ -29,6 +29,9 @@ public record Matrix2x2(double a, double b, double c, double d) { /** * Method to multiply a 2x2 matrix with a 2D vector. + * Multiplies the matrix x-values with the vector x-values and the matrix + * y-values with the vector y-values. + * adds the results together to get a new vector with new x and y values. * * @param vector the vector to multiply with. * @return a new 2D vector. diff --git a/src/main/java/org/example/chaosgame/model/linalg/Vector2D.java b/src/main/java/org/idatt2003/model/linalg/Vector2D.java similarity index 75% rename from src/main/java/org/example/chaosgame/model/linalg/Vector2D.java rename to src/main/java/org/idatt2003/model/linalg/Vector2D.java index c06683ae4e49f58196a970b7dfae59891df163d5..2a9061e601b6781cb847eb5b00283b67959de567 100644 --- a/src/main/java/org/example/chaosgame/model/linalg/Vector2D.java +++ b/src/main/java/org/idatt2003/model/linalg/Vector2D.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.linalg; +package org.idatt2003.model.linalg; import java.util.Objects; @@ -15,6 +15,7 @@ public class Vector2D { /** * Constructor for Vector2D. + * Creates a new 2D vector with the given x and y coordinates. * * @param x x-coordinate * @param y y-coordinate @@ -34,6 +35,8 @@ public class Vector2D { /** * Add two vectors together. + * The sum of two vectors is a new vector with + * the sum of the x-coordinates and the sum of the y-coordinates. * * @param other the other vector * @return the sum of the two vectors @@ -46,6 +49,8 @@ public class Vector2D { /** * Subtract one vector from another. + * The difference of two vectors is a new vector with + * the difference of the x-coordinates and the difference of the y-coordinates. * * @param other the other vector * @return the difference of the two vectors @@ -58,6 +63,8 @@ public class Vector2D { /** * Scale a vector by a scalar. + * The scaled vector is a new vector with the + * x and y coordinates multiplied by the scalar. * * @param scalar the scalar to multiply the vector by * @return the scaled vector @@ -70,6 +77,8 @@ public class Vector2D { /** * Multiply two vectors together. + * The product of two vectors is a new vector with + * the product of the x-coordinates and the product of the y-coordinates. * * @param other the other vector * @return the product of the two vectors @@ -82,6 +91,8 @@ public class Vector2D { /** * Divide one vector by another. + * The quotient of two vectors is a new vector with + * the quotient of the x-coordinates and the quotient of the y-coordinates. * * @param other the other vector * @return the quotient of the two vectors @@ -93,9 +104,11 @@ public class Vector2D { } /** - * Calculate the length of a vector. + * Calculate the squared length of a vector. + * The squared magnitude of a vector is the sum + * of the squares of the x and y coordinates. * - * @return the length of the vector + * @return the squared length of the vector */ public double lengthSq() { return x * x + y * y; diff --git a/src/main/java/org/example/chaosgame/model/transformations/AffineTransform2D.java b/src/main/java/org/idatt2003/model/transformations/AffineTransform2D.java similarity index 92% rename from src/main/java/org/example/chaosgame/model/transformations/AffineTransform2D.java rename to src/main/java/org/idatt2003/model/transformations/AffineTransform2D.java index da0db148c4a0ca696002e500fa59eec2bb692800..b6643cf52463fb409c298c5638e1bcac8689a553 100644 --- a/src/main/java/org/example/chaosgame/model/transformations/AffineTransform2D.java +++ b/src/main/java/org/idatt2003/model/transformations/AffineTransform2D.java @@ -1,8 +1,8 @@ -package org.example.chaosgame.model.transformations; +package org.idatt2003.model.transformations; import java.util.Objects; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; /** diff --git a/src/main/java/org/example/chaosgame/model/transformations/ExploreJulia.java b/src/main/java/org/idatt2003/model/transformations/ExploreJulia.java similarity index 87% rename from src/main/java/org/example/chaosgame/model/transformations/ExploreJulia.java rename to src/main/java/org/idatt2003/model/transformations/ExploreJulia.java index 4d84a62e2352e3f4079d95b9a97105ccf2c57818..373b540c4b5a4d94ab1fa0465cb885a42a390f86 100644 --- a/src/main/java/org/example/chaosgame/model/transformations/ExploreJulia.java +++ b/src/main/java/org/idatt2003/model/transformations/ExploreJulia.java @@ -1,7 +1,7 @@ -package org.example.chaosgame.model.transformations; +package org.idatt2003.model.transformations; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Vector2D; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Vector2D; /** * Class for the Julia transformation. diff --git a/src/main/java/org/example/chaosgame/model/transformations/JuliaTransform.java b/src/main/java/org/idatt2003/model/transformations/JuliaTransform.java similarity index 88% rename from src/main/java/org/example/chaosgame/model/transformations/JuliaTransform.java rename to src/main/java/org/idatt2003/model/transformations/JuliaTransform.java index 98119ed4144a9a0758c78c3b20e5ec157244db11..c3f5eec1fe94090304ab5f61f5f1eb98555f6f67 100644 --- a/src/main/java/org/example/chaosgame/model/transformations/JuliaTransform.java +++ b/src/main/java/org/idatt2003/model/transformations/JuliaTransform.java @@ -1,8 +1,8 @@ -package org.example.chaosgame.model.transformations; +package org.idatt2003.model.transformations; import java.util.Objects; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Vector2D; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Vector2D; /** * Class for the Julia transformation. @@ -18,6 +18,7 @@ public class JuliaTransform implements Transform2D { /** * Constructor for JuliaTransform. + * Creates a new JuliaTransform object with the given complex number and sign. * * @param point the complex number c * @param sign the sign of the transformation @@ -32,6 +33,7 @@ public class JuliaTransform implements Transform2D { } /** + * JuliaTransform implementation of the transform method in Transform2D. * Method to transform a 2D vector using the Julia transformation. * This formula describes the transformation: * <br> diff --git a/src/main/java/org/idatt2003/model/transformations/Transform2D.java b/src/main/java/org/idatt2003/model/transformations/Transform2D.java new file mode 100644 index 0000000000000000000000000000000000000000..592258d21dbb53631becc7929be281f0c721f3c9 --- /dev/null +++ b/src/main/java/org/idatt2003/model/transformations/Transform2D.java @@ -0,0 +1,11 @@ +package org.idatt2003.model.transformations; + +import org.idatt2003.model.linalg.Vector2D; + +/** + * Interface for 2D transformations. + * Implementing classes should transform a 2D point. + */ +public interface Transform2D { + Vector2D transform(Vector2D point); +} diff --git a/src/main/java/org/example/chaosgame/view/ChaosPage.java b/src/main/java/org/idatt2003/view/ChaosPage.java similarity index 80% rename from src/main/java/org/example/chaosgame/view/ChaosPage.java rename to src/main/java/org/idatt2003/view/ChaosPage.java index 5ada76ba90ee8975e1c18c1baf38e51e97a7e8a4..f9487e2e1951699a45031b4636adbb95da484d75 100644 --- a/src/main/java/org/example/chaosgame/view/ChaosPage.java +++ b/src/main/java/org/idatt2003/view/ChaosPage.java @@ -1,12 +1,12 @@ -package org.example.chaosgame.view; +package org.idatt2003.view; import javafx.scene.canvas.GraphicsContext; -import org.example.chaosgame.controller.ChaosGameController; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.Transform2D; -import org.example.chaosgame.view.components.BottomBar; -import org.example.chaosgame.view.components.SideBar; -import org.example.chaosgame.view.components.TopBar; +import org.idatt2003.controller.ChaosGameController; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.Transform2D; +import org.idatt2003.view.components.BottomBar; +import org.idatt2003.view.components.SideBar; +import org.idatt2003.view.components.TopBar; /** * Class for the ChaosPage, extends GamePage. diff --git a/src/main/java/org/example/chaosgame/view/ExplorePage.java b/src/main/java/org/idatt2003/view/ExplorePage.java similarity index 82% rename from src/main/java/org/example/chaosgame/view/ExplorePage.java rename to src/main/java/org/idatt2003/view/ExplorePage.java index 610dce2870d3932bea90c088c3a446789c10a1ca..b9058362dc63fa058403232a3eec684ebeacd976 100644 --- a/src/main/java/org/example/chaosgame/view/ExplorePage.java +++ b/src/main/java/org/idatt2003/view/ExplorePage.java @@ -1,11 +1,11 @@ -package org.example.chaosgame.view; +package org.idatt2003.view; -import org.example.chaosgame.controller.ExploreGameController; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.Transform2D; -import org.example.chaosgame.view.components.BottomBar; -import org.example.chaosgame.view.components.SideBar; -import org.example.chaosgame.view.components.TopBar; +import org.idatt2003.controller.ExploreGameController; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.Transform2D; +import org.idatt2003.view.components.BottomBar; +import org.idatt2003.view.components.SideBar; +import org.idatt2003.view.components.TopBar; /** * Class for the ExplorePage, extends GamePage. diff --git a/src/main/java/org/example/chaosgame/view/GamePage.java b/src/main/java/org/idatt2003/view/GamePage.java similarity index 95% rename from src/main/java/org/example/chaosgame/view/GamePage.java rename to src/main/java/org/idatt2003/view/GamePage.java index 9e74a74b3e8e44bca60bfeca6531183f92efd14c..0436586ad7ce3208c21b9ad211bc737e47d83737 100644 --- a/src/main/java/org/example/chaosgame/view/GamePage.java +++ b/src/main/java/org/idatt2003/view/GamePage.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view; +package org.idatt2003.view; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; diff --git a/src/main/java/org/example/chaosgame/view/HomePage.java b/src/main/java/org/idatt2003/view/HomePage.java similarity index 94% rename from src/main/java/org/example/chaosgame/view/HomePage.java rename to src/main/java/org/idatt2003/view/HomePage.java index 052d6c7ff0ece941c4382dff63a30a0c398ae52f..caf76dc24eefe80da612f08baf3f022052996fb3 100644 --- a/src/main/java/org/example/chaosgame/view/HomePage.java +++ b/src/main/java/org/idatt2003/view/HomePage.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view; +package org.idatt2003.view; import java.util.Objects; import javafx.geometry.Pos; @@ -12,10 +12,10 @@ import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; import javafx.scene.media.MediaView; import javafx.scene.text.Text; -import org.example.chaosgame.controller.HomeController; -import org.example.chaosgame.controller.PageController; -import org.example.chaosgame.view.components.ExitButton; -import org.example.chaosgame.view.components.GameHeader; +import org.idatt2003.controller.PageController; +import org.idatt2003.controller.HomeController; +import org.idatt2003.view.components.ExitButton; +import org.idatt2003.view.components.GameHeader; /** * Class for the home page, extends StackPane. diff --git a/src/main/java/org/example/chaosgame/view/components/AlertUtility.java b/src/main/java/org/idatt2003/view/components/AlertUtility.java similarity index 91% rename from src/main/java/org/example/chaosgame/view/components/AlertUtility.java rename to src/main/java/org/idatt2003/view/components/AlertUtility.java index f0b2af5dea9aba7efd9b49e42504a59126062813..2faab9031ec9aef836b38c4cd8d45e9334294686 100644 --- a/src/main/java/org/example/chaosgame/view/components/AlertUtility.java +++ b/src/main/java/org/idatt2003/view/components/AlertUtility.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.control.Alert; diff --git a/src/main/java/org/example/chaosgame/view/components/BaseSlider.java b/src/main/java/org/idatt2003/view/components/BaseSlider.java similarity index 88% rename from src/main/java/org/example/chaosgame/view/components/BaseSlider.java rename to src/main/java/org/idatt2003/view/components/BaseSlider.java index 6f21a499d228cdb4bf26a27b57e9fbde446fb943..7964c50c8bfb27ff7e128ffb7ad99eb05a3ce8d0 100644 --- a/src/main/java/org/example/chaosgame/view/components/BaseSlider.java +++ b/src/main/java/org/idatt2003/view/components/BaseSlider.java @@ -1,7 +1,7 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.control.Slider; -import org.example.chaosgame.controller.interfaces.GameController; +import org.idatt2003.controller.interfaces.GameController; /** diff --git a/src/main/java/org/example/chaosgame/view/components/BottomBar.java b/src/main/java/org/idatt2003/view/components/BottomBar.java similarity index 88% rename from src/main/java/org/example/chaosgame/view/components/BottomBar.java rename to src/main/java/org/idatt2003/view/components/BottomBar.java index d0117d724f9b5fddba3930c8f23c6808ee85e8c6..c377f8fff875c8530ff28d3a19497394757e755b 100644 --- a/src/main/java/org/example/chaosgame/view/components/BottomBar.java +++ b/src/main/java/org/idatt2003/view/components/BottomBar.java @@ -1,13 +1,13 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.geometry.Pos; import javafx.scene.control.Label; import javafx.scene.layout.HBox; -import org.example.chaosgame.controller.interfaces.GameController; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.transformations.ExploreJulia; -import org.example.chaosgame.model.transformations.JuliaTransform; -import org.example.chaosgame.model.transformations.Transform2D; +import org.idatt2003.model.transformations.ExploreJulia; +import org.idatt2003.model.transformations.JuliaTransform; +import org.idatt2003.model.transformations.Transform2D; +import org.idatt2003.controller.interfaces.GameController; +import org.idatt2003.model.linalg.Complex; /** diff --git a/src/main/java/org/example/chaosgame/view/components/ColorPickerComponent.java b/src/main/java/org/idatt2003/view/components/ColorPickerComponent.java similarity index 93% rename from src/main/java/org/example/chaosgame/view/components/ColorPickerComponent.java rename to src/main/java/org/idatt2003/view/components/ColorPickerComponent.java index 643fe4576a7d6385a76ca74c46f65a760337c6a4..233d29417e19226f1f6842075b73755dc210964c 100644 --- a/src/main/java/org/example/chaosgame/view/components/ColorPickerComponent.java +++ b/src/main/java/org/idatt2003/view/components/ColorPickerComponent.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import java.util.function.Consumer; import javafx.scene.control.ColorPicker; diff --git a/src/main/java/org/example/chaosgame/view/components/CreateAffinePane.java b/src/main/java/org/idatt2003/view/components/CreateAffinePane.java similarity index 98% rename from src/main/java/org/example/chaosgame/view/components/CreateAffinePane.java rename to src/main/java/org/idatt2003/view/components/CreateAffinePane.java index c8bdcdc9ab335c2ce0abfb8322b09a6134eec46b..9d097289e799f3910417375cb417ed3f169a44f7 100644 --- a/src/main/java/org/example/chaosgame/view/components/CreateAffinePane.java +++ b/src/main/java/org/idatt2003/view/components/CreateAffinePane.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/org/example/chaosgame/view/components/CreateFractalDialog.java b/src/main/java/org/idatt2003/view/components/CreateFractalDialog.java similarity index 97% rename from src/main/java/org/example/chaosgame/view/components/CreateFractalDialog.java rename to src/main/java/org/idatt2003/view/components/CreateFractalDialog.java index 7ee80bf29e35cb1d486c24b56b7db6bb7a06a10d..c3d609e93dfb76cd09b1dfec3bd6522a92831265 100644 --- a/src/main/java/org/example/chaosgame/view/components/CreateFractalDialog.java +++ b/src/main/java/org/idatt2003/view/components/CreateFractalDialog.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.geometry.Insets; import javafx.scene.control.ButtonBar; diff --git a/src/main/java/org/example/chaosgame/view/components/CreateJuliaPane.java b/src/main/java/org/idatt2003/view/components/CreateJuliaPane.java similarity index 95% rename from src/main/java/org/example/chaosgame/view/components/CreateJuliaPane.java rename to src/main/java/org/idatt2003/view/components/CreateJuliaPane.java index ecbec347ece7e46b313405f9eb4e0b93810b2ebd..37335ade77a522014f5e4ebb177aff21b320d65b 100644 --- a/src/main/java/org/example/chaosgame/view/components/CreateJuliaPane.java +++ b/src/main/java/org/idatt2003/view/components/CreateJuliaPane.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.control.TextField; import javafx.scene.layout.HBox; diff --git a/src/main/java/org/example/chaosgame/view/components/ExitButton.java b/src/main/java/org/idatt2003/view/components/ExitButton.java similarity index 82% rename from src/main/java/org/example/chaosgame/view/components/ExitButton.java rename to src/main/java/org/idatt2003/view/components/ExitButton.java index da97319bd86de1965b4987ab43f12b108a357ae1..f2dff273bcb2642d7f8ffcd067adc76edda679c1 100644 --- a/src/main/java/org/example/chaosgame/view/components/ExitButton.java +++ b/src/main/java/org/idatt2003/view/components/ExitButton.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.control.Button; diff --git a/src/main/java/org/example/chaosgame/view/components/FractalSelectionBox.java b/src/main/java/org/idatt2003/view/components/FractalSelectionBox.java similarity index 88% rename from src/main/java/org/example/chaosgame/view/components/FractalSelectionBox.java rename to src/main/java/org/idatt2003/view/components/FractalSelectionBox.java index f4f8edc93d77d0b71b889d584d18113232bf6e70..df1ea7e9c7082bed4866a9a82c54a4a514c82a45 100644 --- a/src/main/java/org/example/chaosgame/view/components/FractalSelectionBox.java +++ b/src/main/java/org/idatt2003/view/components/FractalSelectionBox.java @@ -1,7 +1,7 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.control.ComboBox; -import org.example.chaosgame.controller.ChaosGameController; +import org.idatt2003.controller.ChaosGameController; /** * Class for the FractalSelectionBox, extends ComboBox. diff --git a/src/main/java/org/example/chaosgame/view/components/GameButton.java b/src/main/java/org/idatt2003/view/components/GameButton.java similarity index 89% rename from src/main/java/org/example/chaosgame/view/components/GameButton.java rename to src/main/java/org/idatt2003/view/components/GameButton.java index 5f16d81db046dbd8e00d7120428a7f57c96d4ace..675e2bd18de43957b695fb87a929ba1273dedf5c 100644 --- a/src/main/java/org/example/chaosgame/view/components/GameButton.java +++ b/src/main/java/org/idatt2003/view/components/GameButton.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.control.Button; diff --git a/src/main/java/org/example/chaosgame/view/components/GameHeader.java b/src/main/java/org/idatt2003/view/components/GameHeader.java similarity index 89% rename from src/main/java/org/example/chaosgame/view/components/GameHeader.java rename to src/main/java/org/idatt2003/view/components/GameHeader.java index 5de562b39bab0d07741a87f7c121a4ad1b0978a5..25b0589b3b1bbeedfdb4426120cd2c12fb919b04 100644 --- a/src/main/java/org/example/chaosgame/view/components/GameHeader.java +++ b/src/main/java/org/idatt2003/view/components/GameHeader.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.text.Text; diff --git a/src/main/java/org/example/chaosgame/view/components/HomeButton.java b/src/main/java/org/idatt2003/view/components/HomeButton.java similarity index 93% rename from src/main/java/org/example/chaosgame/view/components/HomeButton.java rename to src/main/java/org/idatt2003/view/components/HomeButton.java index 2bec4e24f94f2c4392b9d5fe79232bc013a3f7e7..674bb26042f2d86d4847f5ec2c1a6ccd1e7083e6 100644 --- a/src/main/java/org/example/chaosgame/view/components/HomeButton.java +++ b/src/main/java/org/idatt2003/view/components/HomeButton.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import java.util.Objects; import javafx.scene.control.Button; diff --git a/src/main/java/org/example/chaosgame/view/components/MinMaxDialog.java b/src/main/java/org/idatt2003/view/components/MinMaxDialog.java similarity index 97% rename from src/main/java/org/example/chaosgame/view/components/MinMaxDialog.java rename to src/main/java/org/idatt2003/view/components/MinMaxDialog.java index 3286a6b549c2d5c0a9515c11ae87e07c785e67d1..5dd751a13c09a9b893596d21183e401e5f519263 100644 --- a/src/main/java/org/example/chaosgame/view/components/MinMaxDialog.java +++ b/src/main/java/org/idatt2003/view/components/MinMaxDialog.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import java.util.List; diff --git a/src/main/java/org/example/chaosgame/view/components/NumberOfStepsInput.java b/src/main/java/org/idatt2003/view/components/NumberOfStepsInput.java similarity index 91% rename from src/main/java/org/example/chaosgame/view/components/NumberOfStepsInput.java rename to src/main/java/org/idatt2003/view/components/NumberOfStepsInput.java index ee59938e76cb7a23b6a565220a5ee04d958c0103..19e052aabe2dbf35d7718cbfdc194c61253ad577 100644 --- a/src/main/java/org/example/chaosgame/view/components/NumberOfStepsInput.java +++ b/src/main/java/org/idatt2003/view/components/NumberOfStepsInput.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.scene.control.TextField; diff --git a/src/main/java/org/example/chaosgame/view/components/SideBar.java b/src/main/java/org/idatt2003/view/components/SideBar.java similarity index 94% rename from src/main/java/org/example/chaosgame/view/components/SideBar.java rename to src/main/java/org/idatt2003/view/components/SideBar.java index d866803f75142d8bffb6016ec700a8a849e7959a..5abf54435d6fb149934c93375d5e4bd5071eec08 100644 --- a/src/main/java/org/example/chaosgame/view/components/SideBar.java +++ b/src/main/java/org/idatt2003/view/components/SideBar.java @@ -1,12 +1,12 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.TextField; import javafx.scene.layout.VBox; -import org.example.chaosgame.controller.ChaosGameController; -import org.example.chaosgame.controller.ExploreGameController; +import org.idatt2003.controller.ChaosGameController; +import org.idatt2003.controller.ExploreGameController; /** * Class for the sidebar, extends VBox. diff --git a/src/main/java/org/example/chaosgame/view/components/SliderImaginaryPart.java b/src/main/java/org/idatt2003/view/components/SliderImaginaryPart.java similarity index 83% rename from src/main/java/org/example/chaosgame/view/components/SliderImaginaryPart.java rename to src/main/java/org/idatt2003/view/components/SliderImaginaryPart.java index 14649a0f31469f9d64083859a2b53ec1d5b87518..584eaed8078e77a6a45c20ed3627507ce5e4cb9a 100644 --- a/src/main/java/org/example/chaosgame/view/components/SliderImaginaryPart.java +++ b/src/main/java/org/idatt2003/view/components/SliderImaginaryPart.java @@ -1,6 +1,6 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; -import org.example.chaosgame.controller.interfaces.GameController; +import org.idatt2003.controller.interfaces.GameController; /** * Class for the imaginary part slider, extends BaseSlider. diff --git a/src/main/java/org/example/chaosgame/view/components/SliderRealPart.java b/src/main/java/org/idatt2003/view/components/SliderRealPart.java similarity index 81% rename from src/main/java/org/example/chaosgame/view/components/SliderRealPart.java rename to src/main/java/org/idatt2003/view/components/SliderRealPart.java index 48926964ef8a20808c1dc612775d2866df9feeb7..df1ef2a1c67d08e9705f02c0348864a831938bcd 100644 --- a/src/main/java/org/example/chaosgame/view/components/SliderRealPart.java +++ b/src/main/java/org/idatt2003/view/components/SliderRealPart.java @@ -1,6 +1,6 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; -import org.example.chaosgame.controller.interfaces.GameController; +import org.idatt2003.controller.interfaces.GameController; /** * Class for the real part slider, extends BaseSlider. diff --git a/src/main/java/org/example/chaosgame/view/components/TopBar.java b/src/main/java/org/idatt2003/view/components/TopBar.java similarity index 90% rename from src/main/java/org/example/chaosgame/view/components/TopBar.java rename to src/main/java/org/idatt2003/view/components/TopBar.java index 90a397acbe8e35a9c228236fa941c7bd80153b9f..4d03a7f47d14316c8e54420fcf0d405900f8ec3e 100644 --- a/src/main/java/org/example/chaosgame/view/components/TopBar.java +++ b/src/main/java/org/idatt2003/view/components/TopBar.java @@ -1,12 +1,12 @@ -package org.example.chaosgame.view.components; +package org.idatt2003.view.components; import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.HBox; -import org.example.chaosgame.controller.interfaces.GameController; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.Transform2D; +import org.idatt2003.controller.interfaces.GameController; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.Transform2D; /** * Class for the top bar, extends HBox. diff --git a/src/test/java/org/example/chaosgame/.idea/.gitignore b/src/test/java/org/idatt2003/.idea/.gitignore similarity index 100% rename from src/test/java/org/example/chaosgame/.idea/.gitignore rename to src/test/java/org/idatt2003/.idea/.gitignore diff --git a/src/test/java/org/example/chaosgame/.idea/checkstyle-idea.xml b/src/test/java/org/idatt2003/.idea/checkstyle-idea.xml similarity index 100% rename from src/test/java/org/example/chaosgame/.idea/checkstyle-idea.xml rename to src/test/java/org/idatt2003/.idea/checkstyle-idea.xml diff --git a/src/test/java/org/example/chaosgame/.idea/misc.xml b/src/test/java/org/idatt2003/.idea/misc.xml similarity index 100% rename from src/test/java/org/example/chaosgame/.idea/misc.xml rename to src/test/java/org/idatt2003/.idea/misc.xml diff --git a/src/test/java/org/example/chaosgame/.idea/modules.xml b/src/test/java/org/idatt2003/.idea/modules.xml similarity index 100% rename from src/test/java/org/example/chaosgame/.idea/modules.xml rename to src/test/java/org/idatt2003/.idea/modules.xml diff --git a/src/test/java/org/example/chaosgame/.idea/vcs.xml b/src/test/java/org/idatt2003/.idea/vcs.xml similarity index 100% rename from src/test/java/org/example/chaosgame/.idea/vcs.xml rename to src/test/java/org/idatt2003/.idea/vcs.xml diff --git a/src/test/java/org/example/chaosgame/controller/ChaosGameControllerTest.java b/src/test/java/org/idatt2003/controller/ChaosGameControllerTest.java similarity index 94% rename from src/test/java/org/example/chaosgame/controller/ChaosGameControllerTest.java rename to src/test/java/org/idatt2003/controller/ChaosGameControllerTest.java index 1e16946f1d1a9978186686d4afb38f6e343cbe8e..d4346edbda371be88306c5813c401c24d74572e2 100644 --- a/src/test/java/org/example/chaosgame/controller/ChaosGameControllerTest.java +++ b/src/test/java/org/idatt2003/controller/ChaosGameControllerTest.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameDescriptionFactoryTest.java b/src/test/java/org/idatt2003/controller/ChaosGameDescriptionFactoryTest.java similarity index 91% rename from src/test/java/org/example/chaosgame/model/chaos/ChaosGameDescriptionFactoryTest.java rename to src/test/java/org/idatt2003/controller/ChaosGameDescriptionFactoryTest.java index 00e0ad8b31c767e8df81fd56b14cb5b5f93fb962..bff2f301d58db818cfcc4ddb97016884e5d7df39 100644 --- a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameDescriptionFactoryTest.java +++ b/src/test/java/org/idatt2003/controller/ChaosGameDescriptionFactoryTest.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.controller; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertInstanceOf; @@ -6,12 +6,14 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; import java.util.List; -import org.example.chaosgame.controller.ChaosGameDescriptionFactory; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; -import org.example.chaosgame.model.transformations.JuliaTransform; + +import org.idatt2003.model.chaos.ChaosGameDescription; +import org.idatt2003.model.chaos.ChaosGameType; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; +import org.idatt2003.model.transformations.JuliaTransform; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Nested; diff --git a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameFileHandlerTest.java b/src/test/java/org/idatt2003/controller/ChaosGameFileHandlerTest.java similarity index 96% rename from src/test/java/org/example/chaosgame/model/chaos/ChaosGameFileHandlerTest.java rename to src/test/java/org/idatt2003/controller/ChaosGameFileHandlerTest.java index 32c0fa2d95254b55ec7692efd67634e8735a3659..75cc97065425871f5a67ecf7f5930d78c2b2e673 100644 --- a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameFileHandlerTest.java +++ b/src/test/java/org/idatt2003/controller/ChaosGameFileHandlerTest.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.controller; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertInstanceOf; @@ -10,13 +10,14 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.List; -import org.example.chaosgame.controller.ChaosGameFileHandler; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; -import org.example.chaosgame.model.transformations.JuliaTransform; -import org.example.chaosgame.model.transformations.Transform2D; + +import org.idatt2003.model.chaos.ChaosGameDescription; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; +import org.idatt2003.model.transformations.JuliaTransform; +import org.idatt2003.model.transformations.Transform2D; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Nested; diff --git a/src/test/java/org/example/chaosgame/controller/ExploreGameControllerTest.java b/src/test/java/org/idatt2003/controller/ExploreGameControllerTest.java similarity index 94% rename from src/test/java/org/example/chaosgame/controller/ExploreGameControllerTest.java rename to src/test/java/org/idatt2003/controller/ExploreGameControllerTest.java index 05f43e043ac30ae963730e3b8c98e4a8d67a78ea..89216775e4d7ecc32adc1b1f0b384bd6763d421c 100644 --- a/src/test/java/org/example/chaosgame/controller/ExploreGameControllerTest.java +++ b/src/test/java/org/idatt2003/controller/ExploreGameControllerTest.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/example/chaosgame/controller/HomeControllerTest.java b/src/test/java/org/idatt2003/controller/HomeControllerTest.java similarity index 76% rename from src/test/java/org/example/chaosgame/controller/HomeControllerTest.java rename to src/test/java/org/idatt2003/controller/HomeControllerTest.java index c32f31ad6d11ba9334513ff41893d28879e4a99a..1d8c4fbcb00683842041de4398b3197170ce7d42 100644 --- a/src/test/java/org/example/chaosgame/controller/HomeControllerTest.java +++ b/src/test/java/org/idatt2003/controller/HomeControllerTest.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import org.junit.jupiter.api.Test; diff --git a/src/test/java/org/example/chaosgame/controller/PageControllerTest.java b/src/test/java/org/idatt2003/controller/PageControllerTest.java similarity index 63% rename from src/test/java/org/example/chaosgame/controller/PageControllerTest.java rename to src/test/java/org/idatt2003/controller/PageControllerTest.java index 7cc833bfb1dc27426e54df472030aa6002e7e3ed..cf2e678861fff4246ddc19ade1ff2c7321cc75e2 100644 --- a/src/test/java/org/example/chaosgame/controller/PageControllerTest.java +++ b/src/test/java/org/idatt2003/controller/PageControllerTest.java @@ -1,9 +1,7 @@ -package org.example.chaosgame.controller; +package org.idatt2003.controller; import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.*; - class PageControllerTest { @Test diff --git a/src/test/java/org/example/chaosgame/model/chaos/ChaosCanvasTest.java b/src/test/java/org/idatt2003/model/chaos/ChaosCanvasTest.java similarity index 96% rename from src/test/java/org/example/chaosgame/model/chaos/ChaosCanvasTest.java rename to src/test/java/org/idatt2003/model/chaos/ChaosCanvasTest.java index a55ef4c5ce55787d116f5675911918a616002274..a9b76a0036adfeae15087dbb13a47e8299490e88 100644 --- a/src/test/java/org/example/chaosgame/model/chaos/ChaosCanvasTest.java +++ b/src/test/java/org/idatt2003/model/chaos/ChaosCanvasTest.java @@ -1,7 +1,7 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Nested; diff --git a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameDescriptionTest.java b/src/test/java/org/idatt2003/model/chaos/ChaosGameDescriptionTest.java similarity index 95% rename from src/test/java/org/example/chaosgame/model/chaos/ChaosGameDescriptionTest.java rename to src/test/java/org/idatt2003/model/chaos/ChaosGameDescriptionTest.java index c85c23b3fcbc496ad9fb13f41cdba2b9932a7eab..d65f131ab266cffaa0317570045975c3aaa21e84 100644 --- a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameDescriptionTest.java +++ b/src/test/java/org/idatt2003/model/chaos/ChaosGameDescriptionTest.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -8,10 +8,10 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import java.util.Arrays; import java.util.List; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; -import org.example.chaosgame.model.transformations.Transform2D; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; +import org.idatt2003.model.transformations.Transform2D; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; diff --git a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameTest.java b/src/test/java/org/idatt2003/model/chaos/ChaosGameTest.java similarity index 94% rename from src/test/java/org/example/chaosgame/model/chaos/ChaosGameTest.java rename to src/test/java/org/idatt2003/model/chaos/ChaosGameTest.java index 5d967a7f1718f0bdc92c934b2abb08212207de42..d913b6652377f255b9216ce57ebf3b8844df05db 100644 --- a/src/test/java/org/example/chaosgame/model/chaos/ChaosGameTest.java +++ b/src/test/java/org/idatt2003/model/chaos/ChaosGameTest.java @@ -1,4 +1,4 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -7,12 +7,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; import java.util.List; -import org.example.chaosgame.controller.interfaces.Observer; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; -import org.example.chaosgame.model.transformations.JuliaTransform; +import org.idatt2003.controller.interfaces.Observer; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Matrix2x2; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.AffineTransform2D; +import org.idatt2003.model.transformations.JuliaTransform; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; diff --git a/src/test/java/org/example/chaosgame/model/chaos/ExploreGameTest.java b/src/test/java/org/idatt2003/model/chaos/ExploreGameTest.java similarity index 76% rename from src/test/java/org/example/chaosgame/model/chaos/ExploreGameTest.java rename to src/test/java/org/idatt2003/model/chaos/ExploreGameTest.java index ab56bbba654425e121d2513449db4646e630adce..463bc6fc38fa1194b19ea563b6719579d2c0573b 100644 --- a/src/test/java/org/example/chaosgame/model/chaos/ExploreGameTest.java +++ b/src/test/java/org/idatt2003/model/chaos/ExploreGameTest.java @@ -1,10 +1,10 @@ -package org.example.chaosgame.model.chaos; +package org.idatt2003.model.chaos; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.ExploreJulia; -import org.example.chaosgame.model.transformations.Transform2D; -import org.example.chaosgame.controller.interfaces.Observer; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.transformations.ExploreJulia; +import org.idatt2003.model.transformations.Transform2D; +import org.idatt2003.controller.interfaces.Observer; import org.junit.jupiter.api.*; import java.util.ArrayList; @@ -47,7 +47,7 @@ class ExploreGameTest { newTransforms.add(new ExploreJulia(new Complex(1, 1))); ChaosGameDescription newDescription = new ChaosGameDescription(newMinCoords, newMaxCoords, newTransforms); - exploreGame.setExploreGame(newDescription, 200, 200); + exploreGame.setExploreGame(newDescription, new ChaosCanvas(200, 200, newMinCoords, newMaxCoords)); assertEquals(newDescription, exploreGame.getDescription()); ChaosCanvas canvas = exploreGame.getCanvas(); @@ -70,19 +70,6 @@ class ExploreGameTest { assertEquals(description, exploreGame.getDescription()); } - @Test - void testSetChaosCanvas() { - Vector2D newMinCoords = new Vector2D(-2, -2); - Vector2D newMaxCoords = new Vector2D(2, 2); - exploreGame.setChaosCanvas(newMinCoords, newMaxCoords, 300, 300); - - ChaosCanvas canvas = exploreGame.getCanvas(); - assertEquals(300, canvas.getWidth()); - assertEquals(300, canvas.getHeight()); - assertEquals(newMinCoords, canvas.getMinCoords()); - assertEquals(newMaxCoords, canvas.getMaxCoords()); - } - @Test void testExploreFractals() { diff --git a/src/test/java/org/example/chaosgame/model/linalg/ComplexTest.java b/src/test/java/org/idatt2003/model/linalg/ComplexTest.java similarity index 91% rename from src/test/java/org/example/chaosgame/model/linalg/ComplexTest.java rename to src/test/java/org/idatt2003/model/linalg/ComplexTest.java index 5cb701a87fba88d8556f81947b3abaa1fb582555..888884fa9758b5533a1728b95e0699a0a1fb86aa 100644 --- a/src/test/java/org/example/chaosgame/model/linalg/ComplexTest.java +++ b/src/test/java/org/idatt2003/model/linalg/ComplexTest.java @@ -1,6 +1,5 @@ -package org.example.chaosgame.model.linalg; +package org.idatt2003.model.linalg; -import org.example.chaosgame.model.linalg.Complex; import org.junit.jupiter.api.*; diff --git a/src/test/java/org/example/chaosgame/model/linalg/Matrix2x2Test.java b/src/test/java/org/idatt2003/model/linalg/Matrix2x2Test.java similarity index 90% rename from src/test/java/org/example/chaosgame/model/linalg/Matrix2x2Test.java rename to src/test/java/org/idatt2003/model/linalg/Matrix2x2Test.java index bb210cb61a55047bdd3e67f1d9deb27190bd0a40..10b7ce93fb3b46f9e478d98fbc00e9fe373f9fb4 100644 --- a/src/test/java/org/example/chaosgame/model/linalg/Matrix2x2Test.java +++ b/src/test/java/org/idatt2003/model/linalg/Matrix2x2Test.java @@ -1,7 +1,5 @@ -package org.example.chaosgame.model.linalg; +package org.idatt2003.model.linalg; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; import org.junit.jupiter.api.*; import static org.junit.jupiter.api.Assertions.*; diff --git a/src/test/java/org/example/chaosgame/model/linalg/Vector2DTest.java b/src/test/java/org/idatt2003/model/linalg/Vector2DTest.java similarity index 97% rename from src/test/java/org/example/chaosgame/model/linalg/Vector2DTest.java rename to src/test/java/org/idatt2003/model/linalg/Vector2DTest.java index 3d432956948a6ea1985ddd1c3c3e02d6d9fd85a2..3511b0b90a9846b9ba6804aeb56a2432744fb07d 100644 --- a/src/test/java/org/example/chaosgame/model/linalg/Vector2DTest.java +++ b/src/test/java/org/idatt2003/model/linalg/Vector2DTest.java @@ -1,6 +1,5 @@ -package org.example.chaosgame.model.linalg; +package org.idatt2003.model.linalg; -import org.example.chaosgame.model.linalg.Vector2D; import org.junit.jupiter.api.*; import static org.junit.jupiter.api.Assertions.*; diff --git a/src/test/java/org/example/chaosgame/model/transformations/AffineTransform2DTest.java b/src/test/java/org/idatt2003/model/transformations/AffineTransform2DTest.java similarity index 69% rename from src/test/java/org/example/chaosgame/model/transformations/AffineTransform2DTest.java rename to src/test/java/org/idatt2003/model/transformations/AffineTransform2DTest.java index 3ac169cfe2adc38c08c7f344a1d8fad92fb9248b..4b015b6597cba7ee54dda7c8b1ddf7be47904276 100644 --- a/src/test/java/org/example/chaosgame/model/transformations/AffineTransform2DTest.java +++ b/src/test/java/org/idatt2003/model/transformations/AffineTransform2DTest.java @@ -1,8 +1,7 @@ -package org.example.chaosgame.model.transformations; +package org.idatt2003.model.transformations; -import org.example.chaosgame.model.linalg.Matrix2x2; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.AffineTransform2D; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.linalg.Matrix2x2; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; diff --git a/src/test/java/org/example/chaosgame/model/transformations/ExploreJuliaTest.java b/src/test/java/org/idatt2003/model/transformations/ExploreJuliaTest.java similarity index 83% rename from src/test/java/org/example/chaosgame/model/transformations/ExploreJuliaTest.java rename to src/test/java/org/idatt2003/model/transformations/ExploreJuliaTest.java index 55900355656ec5fd5f0d02927ff67eb57adb5392..59942c3a595d8ce01c22ba60a2783175b9f83c0e 100644 --- a/src/test/java/org/example/chaosgame/model/transformations/ExploreJuliaTest.java +++ b/src/test/java/org/idatt2003/model/transformations/ExploreJuliaTest.java @@ -1,7 +1,7 @@ -package org.example.chaosgame.model.transformations; +package org.idatt2003.model.transformations; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Vector2D; +import org.idatt2003.model.linalg.Complex; +import org.idatt2003.model.linalg.Vector2D; import org.junit.jupiter.api.*; import static org.junit.jupiter.api.Assertions.*; @@ -24,7 +24,7 @@ class ExploreJuliaTest { @Test void testGetComplex() { - assertEquals(complexPoint, exploreJulia.getComplex()); + Assertions.assertEquals(complexPoint, exploreJulia.getComplex()); } @Nested @DisplayName("Test transforms") diff --git a/src/test/java/org/example/chaosgame/model/transformations/JuliaTransformTest.java b/src/test/java/org/idatt2003/model/transformations/JuliaTransformTest.java similarity index 70% rename from src/test/java/org/example/chaosgame/model/transformations/JuliaTransformTest.java rename to src/test/java/org/idatt2003/model/transformations/JuliaTransformTest.java index ef90b6a8acdb156d34e38aa36f7cd84f88f5257b..1950a0aaa98f9c00a04341126c6ca3b7bc50bd03 100644 --- a/src/test/java/org/example/chaosgame/model/transformations/JuliaTransformTest.java +++ b/src/test/java/org/idatt2003/model/transformations/JuliaTransformTest.java @@ -1,8 +1,7 @@ -package org.example.chaosgame.model.transformations; +package org.idatt2003.model.transformations; -import org.example.chaosgame.model.linalg.Complex; -import org.example.chaosgame.model.linalg.Vector2D; -import org.example.chaosgame.model.transformations.JuliaTransform; +import org.idatt2003.model.linalg.Vector2D; +import org.idatt2003.model.linalg.Complex; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*;