From ac04e7f0253ea77ccdff8ad60613c5d2cbe6afe9 Mon Sep 17 00:00:00 2001 From: szfp98 <78967799+szfp98@users.noreply.github.com> Date: Mon, 25 Mar 2024 16:06:59 +0100 Subject: [PATCH 01/10] Create build.yml --- .github/workflows/build.yml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..5c4762f30 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,37 @@ +name: SonarCloud +on: + push: + branches: + - master + pull_request: + types: [opened, synchronize, reopened] +jobs: + build: + name: Build and analyze + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: 17 + distribution: 'zulu' # Alternative distribution options are available. + - name: Cache SonarCloud packages + uses: actions/cache@v3 + with: + path: ~/.sonar/cache + key: ${{ runner.os }}-sonar + restore-keys: ${{ runner.os }}-sonar + - name: Cache Maven packages + uses: actions/cache@v3 + with: + path: ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-m2 + - name: Build and analyze + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=szfp98_base From a4e4da7a3fb6632fbc85603c3e56b68ecc46c5d0 Mon Sep 17 00:00:00 2001 From: szfp98 Date: Mon, 25 Mar 2024 16:13:03 +0100 Subject: [PATCH 02/10] fix reference speed modification --- .../java/hu/bme/mit/train/controller/TrainControllerImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java b/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java index 06649d278..dec7961f8 100644 --- a/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java +++ b/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java @@ -43,7 +43,8 @@ private void enforceSpeedLimit() { @Override public void setJoystickPosition(int joystickPosition) { - this.step = joystickPosition; + this.step = joystickPosition; + followSpeed(); } } From 0ed497e959aa13f3acbc1f9bf09fe5706a478a20 Mon Sep 17 00:00:00 2001 From: Szabo Nandor Date: Mon, 25 Mar 2024 16:13:15 +0100 Subject: [PATCH 03/10] reference speed update --- .../src/main/java/hu/bme/mit/train/user/TrainUserImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java b/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java index 93d3b2e59..bad376373 100644 --- a/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java +++ b/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java @@ -26,6 +26,7 @@ public int getJoystickPosition() { public void overrideJoystickPosition(int joystickPosition) { this.joystickPosition = joystickPosition; controller.setJoystickPosition(joystickPosition); + controller.followSpeed(); } } From 437a4ac65798e44920babc036929105c54542d42 Mon Sep 17 00:00:00 2001 From: szfp98 Date: Mon, 25 Mar 2024 17:12:24 +0100 Subject: [PATCH 04/10] update pom.xml --- pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pom.xml b/pom.xml index 2be9fb5f5..2fc82dd58 100644 --- a/pom.xml +++ b/pom.xml @@ -7,6 +7,8 @@ UTF-8 + szfp98 + https://sonarcloud.io pom From 7d3c122d8e1d3ca541b03969334ff163d6fb1775 Mon Sep 17 00:00:00 2001 From: szfp98 Date: Mon, 25 Mar 2024 16:22:11 +0100 Subject: [PATCH 05/10] fix joystick pos --- .../java/hu/bme/mit/train/controller/TrainControllerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java b/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java index dec7961f8..f55d75057 100644 --- a/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java +++ b/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java @@ -44,7 +44,7 @@ private void enforceSpeedLimit() { @Override public void setJoystickPosition(int joystickPosition) { this.step = joystickPosition; - followSpeed(); + followSpeed(); } } From b39f12d215c41e3a0687d77b3515e5f42b8d6096 Mon Sep 17 00:00:00 2001 From: Szabo Nandor Date: Mon, 25 Mar 2024 16:33:46 +0100 Subject: [PATCH 06/10] fixed --- .../src/main/java/hu/bme/mit/train/user/TrainUserImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java b/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java index bad376373..02c09c995 100644 --- a/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java +++ b/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java @@ -26,6 +26,7 @@ public int getJoystickPosition() { public void overrideJoystickPosition(int joystickPosition) { this.joystickPosition = joystickPosition; controller.setJoystickPosition(joystickPosition); + controller.followSpeed(); } From 9171454cf6f49f4b71e8ed7f6b6938276030f889 Mon Sep 17 00:00:00 2001 From: szfp98 Date: Mon, 25 Mar 2024 17:40:09 +0100 Subject: [PATCH 07/10] fix train sensor test --- pom.xml | 2 ++ .../hu/bme/mit/train/sensor/TrainSensorTest.java | 12 ++---------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index 2be9fb5f5..2fc82dd58 100644 --- a/pom.xml +++ b/pom.xml @@ -7,6 +7,8 @@ UTF-8 + szfp98 + https://sonarcloud.io pom diff --git a/train-sensor/src/test/java/hu/bme/mit/train/sensor/TrainSensorTest.java b/train-sensor/src/test/java/hu/bme/mit/train/sensor/TrainSensorTest.java index ae5dee21b..b4001fdac 100644 --- a/train-sensor/src/test/java/hu/bme/mit/train/sensor/TrainSensorTest.java +++ b/train-sensor/src/test/java/hu/bme/mit/train/sensor/TrainSensorTest.java @@ -5,15 +5,7 @@ import org.junit.Test; import static org.mockito.Mockito.*; -public class TrainSensorTest { + public class TrainSensorTest { - @Before - public void before() { - // TODO Add initializations - } - - @Test - public void ThisIsAnExampleTestStub() { - // TODO Delete this and add test cases based on the issues - } + } From abffbbc5ee775d079da8d99df782a9e34048b8af Mon Sep 17 00:00:00 2001 From: Szabo Nandor Date: Mon, 25 Mar 2024 17:53:32 +0100 Subject: [PATCH 08/10] alarm done --- .../java/hu/bme/mit/train/interfaces/TrainUser.java | 6 ++++++ .../java/hu/bme/mit/train/sensor/TrainSensorImpl.java | 4 ++++ .../java/hu/bme/mit/train/user/TrainUserImpl.java | 11 +++++++++++ 3 files changed, 21 insertions(+) diff --git a/train-interfaces/src/main/java/hu/bme/mit/train/interfaces/TrainUser.java b/train-interfaces/src/main/java/hu/bme/mit/train/interfaces/TrainUser.java index 046f6fe80..34fe24f4c 100644 --- a/train-interfaces/src/main/java/hu/bme/mit/train/interfaces/TrainUser.java +++ b/train-interfaces/src/main/java/hu/bme/mit/train/interfaces/TrainUser.java @@ -2,10 +2,16 @@ public interface TrainUser { + boolean alarmState = false; + int getJoystickPosition(); boolean getAlarmFlag(); void overrideJoystickPosition(int joystickPosition); + public boolean getAlarmState(); + + public void setAlarmState(boolean alarmState); + } diff --git a/train-sensor/src/main/java/hu/bme/mit/train/sensor/TrainSensorImpl.java b/train-sensor/src/main/java/hu/bme/mit/train/sensor/TrainSensorImpl.java index 4a640d1dd..d83b3c16f 100644 --- a/train-sensor/src/main/java/hu/bme/mit/train/sensor/TrainSensorImpl.java +++ b/train-sensor/src/main/java/hu/bme/mit/train/sensor/TrainSensorImpl.java @@ -24,6 +24,10 @@ public int getSpeedLimit() { public void overrideSpeedLimit(int speedLimit) { this.speedLimit = speedLimit; controller.setSpeedLimit(speedLimit); + + if(speedLimit < 0 || speedLimit > 500 || speedLimit < controller.getReferenceSpeed / 2) { + user.setAlarmState(true); + } } } diff --git a/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java b/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java index 02c09c995..a3d993ca3 100644 --- a/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java +++ b/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java @@ -30,4 +30,15 @@ public void overrideJoystickPosition(int joystickPosition) { controller.followSpeed(); } + @Override + public boolean getAlarmState() { + return alarmState; + } + + public void setAlarmState(boolean alarmState) { + alarmState = alarmState; + } + + + } From 000a4bac7f7876a64849af91fcbca21680bacf71 Mon Sep 17 00:00:00 2001 From: Szabo Nandor Date: Mon, 25 Mar 2024 18:35:44 +0100 Subject: [PATCH 09/10] test1 --- .../bme/mit/train/sensor/TrainSensorImpl.java | 2 +- .../bme/mit/train/sensor/TrainSensorTest.java | 34 +++++++++++++++++-- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/train-sensor/src/main/java/hu/bme/mit/train/sensor/TrainSensorImpl.java b/train-sensor/src/main/java/hu/bme/mit/train/sensor/TrainSensorImpl.java index d83b3c16f..a6c7a8f1d 100644 --- a/train-sensor/src/main/java/hu/bme/mit/train/sensor/TrainSensorImpl.java +++ b/train-sensor/src/main/java/hu/bme/mit/train/sensor/TrainSensorImpl.java @@ -25,7 +25,7 @@ public void overrideSpeedLimit(int speedLimit) { this.speedLimit = speedLimit; controller.setSpeedLimit(speedLimit); - if(speedLimit < 0 || speedLimit > 500 || speedLimit < controller.getReferenceSpeed / 2) { + if(speedLimit < 0 || speedLimit > 500 || speedLimit < controller.getReferenceSpeed() / 2) { user.setAlarmState(true); } } diff --git a/train-sensor/src/test/java/hu/bme/mit/train/sensor/TrainSensorTest.java b/train-sensor/src/test/java/hu/bme/mit/train/sensor/TrainSensorTest.java index ae5dee21b..ed26ba30b 100644 --- a/train-sensor/src/test/java/hu/bme/mit/train/sensor/TrainSensorTest.java +++ b/train-sensor/src/test/java/hu/bme/mit/train/sensor/TrainSensorTest.java @@ -1,5 +1,8 @@ package hu.bme.mit.train.sensor; +import TrainController; +import TrainSensorImpl; +import TrainUser; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -7,13 +10,38 @@ public class TrainSensorTest { + TrainController mockTC; + TrainUser mockTU; + TrainsSensorImpl trainSensor; + @Before public void before() { - // TODO Add initializations + mockTC = mock(TrainController.class); + mockTU = mock(TrainUser.class); + trainSensor = new TrainSensorImpl(mockTC, mockTU); + } + + @Test + public void setAlarmState_TrainUser_Min() { + trainSensor.overrideSpeedLimit(-1); + verify(mockTU, times(1)).setAlarmState(true); + } + + @Test + public void setAlarmState_TrainUser_Max() { + trainSensor.overrideSpeedLimit(501); + verify(mockTU, times(1)).setAlarmState(true); + } + + @Test + public void setAlarmState_TrainUser_RelativeLimit() { + trainSensor.overrideSpeedLimit(3); + verify(mockTU, times(1)).setAlarmState(true); } @Test - public void ThisIsAnExampleTestStub() { - // TODO Delete this and add test cases based on the issues + public void setAlarmState_TrainUser_Between() { + trainSensor.overrideSpeedLimit(300); + verify(mockTU, times(0)).setAlarmState(false); } } From 00b7cb069e2c71910adc543c76364fbee4678edc Mon Sep 17 00:00:00 2001 From: Szabo Nandor Date: Mon, 25 Mar 2024 18:56:13 +0100 Subject: [PATCH 10/10] Unit tests for TrainSensor --- .../java/hu/bme/mit/train/sensor/TrainSensorTest.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/train-sensor/src/test/java/hu/bme/mit/train/sensor/TrainSensorTest.java b/train-sensor/src/test/java/hu/bme/mit/train/sensor/TrainSensorTest.java index ed26ba30b..a0191200d 100644 --- a/train-sensor/src/test/java/hu/bme/mit/train/sensor/TrainSensorTest.java +++ b/train-sensor/src/test/java/hu/bme/mit/train/sensor/TrainSensorTest.java @@ -1,8 +1,9 @@ package hu.bme.mit.train.sensor; -import TrainController; -import TrainSensorImpl; -import TrainUser; +import hu.bme.mit.train.interfaces.TrainController; +import hu.bme.mit.train.sensor.TrainSensorImpl; +import hu.bme.mit.train.interfaces.TrainUser; + import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -12,7 +13,7 @@ public class TrainSensorTest { TrainController mockTC; TrainUser mockTU; - TrainsSensorImpl trainSensor; + TrainSensorImpl trainSensor; @Before public void before() {