diff --git a/src/main/java/org/olat/modules/forms/model/xml/ScaleType.java b/src/main/java/org/olat/modules/forms/model/xml/ScaleType.java index 802da4d874c189f56727dacbdb71b5cc44291b99..0be0c0b04e1c387885f3b769f004472e4b50932e 100644 --- a/src/main/java/org/olat/modules/forms/model/xml/ScaleType.java +++ b/src/main/java/org/olat/modules/forms/model/xml/ScaleType.java @@ -30,6 +30,12 @@ import org.olat.core.gui.translator.Translator; * */ public enum ScaleType { + zeroToMax { + @Override + public double getStepValue(int numberOfSteps, int step) { + return step - 1; + } + }, oneToMax { @Override public double getStepValue(int numberOfSteps, int step) { @@ -42,6 +48,12 @@ public enum ScaleType { return numberOfSteps + 1 - step; } }, + maxToZero { + @Override + public double getStepValue(int numberOfSteps, int step) { + return numberOfSteps - step; + } + }, zeroBallanced { @Override public double getStepValue(int numberOfSteps, int step) { diff --git a/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_de.properties index 37f24403284d0b651e2f9a3063c0f4e824307b70..e99e270e69e447b037032fa4d8556cbe0526d5cb 100644 --- a/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_de.properties @@ -135,7 +135,9 @@ rubric.report.variance.abrev=\u03C3\u00B2 rubric.report.variance.title=Varianz rubric.scale.example.value=Wert: {0} rubric.scale.maxToOne=Absteigende Likert-Skala (x bis 1) +rubric.scale.maxToZero=Absteigende Likert-Skala (x bis 0) rubric.scale.oneToMax=Aufsteigende Likert-Skala (1 bis x) +rubric.scale.zeroToMax=Aufsteigende Likert-Skala (0 bis x) rubric.scale.type.help=Legen Sie die Werte der gew\u00E4hlten Skala fest. Die Werte werden in den Reports und der Analyse von Umfragen verwendet. rubric.scale.type=Skalentyp rubric.scale.zeroBallanced=Symmetrische Likert-Skala (-x bis x) diff --git a/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_en.properties index 14c63b10feae3d6b2e8b79320a8f2fdd0a713868..8a93123794f950e891fe944866ecfb8b66e4b2b3 100644 --- a/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/modules/forms/ui/_i18n/LocalStrings_en.properties @@ -134,7 +134,9 @@ rubric.report.variance.abrev=\u03C3\u00B2 rubric.report.variance.title=Variance rubric.scale.example.value=Value\: {0} rubric.scale.maxToOne=Descending Likert scale (x to 1) +rubric.scale.maxToZero=Descending Likert scale (x to 0) rubric.scale.oneToMax=Ascending Likert scale (1 to x) +rubric.scale.zeroToMax=Ascending Likert scale (0 to x) rubric.scale.type.help=Specify the values of the selected scale. The values are used in reports and the survey analysis. rubric.scale.type=Scale type rubric.scale.zeroBallanced=Ballanced Likert scale (-x to x) diff --git a/src/test/java/org/olat/modules/forms/model/xml/ScaleTypeTest.java b/src/test/java/org/olat/modules/forms/model/xml/ScaleTypeTest.java index 9b23b972d5b49dc2c42ee1909d23e46fb600096f..a6e867c7b88e7fee2c95d283e28afd5d2d29d4de 100644 --- a/src/test/java/org/olat/modules/forms/model/xml/ScaleTypeTest.java +++ b/src/test/java/org/olat/modules/forms/model/xml/ScaleTypeTest.java @@ -19,8 +19,8 @@ */ package org.olat.modules.forms.model.xml; -import static org.assertj.core.api.Assertions.assertThat; +import org.assertj.core.api.SoftAssertions; import org.junit.Test; /** @@ -33,40 +33,70 @@ public class ScaleTypeTest { @Test public void shouldGetStepValueForOneToMax() { - assertThat(ScaleType.oneToMax.getStepValue(6, 1)).isEqualTo(1); - assertThat(ScaleType.oneToMax.getStepValue(6, 2)).isEqualTo(2); - assertThat(ScaleType.oneToMax.getStepValue(6, 3)).isEqualTo(3); - assertThat(ScaleType.oneToMax.getStepValue(6, 4)).isEqualTo(4); - assertThat(ScaleType.oneToMax.getStepValue(6, 5)).isEqualTo(5); - assertThat(ScaleType.oneToMax.getStepValue(6, 6)).isEqualTo(6); + SoftAssertions softly = new SoftAssertions(); + softly.assertThat(ScaleType.oneToMax.getStepValue(6, 1)).isEqualTo(1); + softly.assertThat(ScaleType.oneToMax.getStepValue(6, 2)).isEqualTo(2); + softly.assertThat(ScaleType.oneToMax.getStepValue(6, 3)).isEqualTo(3); + softly.assertThat(ScaleType.oneToMax.getStepValue(6, 4)).isEqualTo(4); + softly.assertThat(ScaleType.oneToMax.getStepValue(6, 5)).isEqualTo(5); + softly.assertThat(ScaleType.oneToMax.getStepValue(6, 6)).isEqualTo(6); + softly.assertAll(); } @Test public void shouldGetStepValueForMaxToOne() { - assertThat(ScaleType.maxToOne.getStepValue(6, 1)).isEqualTo(6); - assertThat(ScaleType.maxToOne.getStepValue(6, 2)).isEqualTo(5); - assertThat(ScaleType.maxToOne.getStepValue(6, 3)).isEqualTo(4); - assertThat(ScaleType.maxToOne.getStepValue(6, 4)).isEqualTo(3); - assertThat(ScaleType.maxToOne.getStepValue(6, 5)).isEqualTo(2); - assertThat(ScaleType.maxToOne.getStepValue(6, 6)).isEqualTo(1); + SoftAssertions softly = new SoftAssertions(); + softly.assertThat(ScaleType.maxToOne.getStepValue(6, 1)).isEqualTo(6); + softly.assertThat(ScaleType.maxToOne.getStepValue(6, 2)).isEqualTo(5); + softly.assertThat(ScaleType.maxToOne.getStepValue(6, 3)).isEqualTo(4); + softly.assertThat(ScaleType.maxToOne.getStepValue(6, 4)).isEqualTo(3); + softly.assertThat(ScaleType.maxToOne.getStepValue(6, 5)).isEqualTo(2); + softly.assertThat(ScaleType.maxToOne.getStepValue(6, 6)).isEqualTo(1); + softly.assertAll(); + } + + @Test + public void shouldGetStepValueForZeroToMax() { + SoftAssertions softly = new SoftAssertions(); + softly.assertThat(ScaleType.zeroToMax.getStepValue(6, 1)).isEqualTo(0); + softly.assertThat(ScaleType.zeroToMax.getStepValue(6, 2)).isEqualTo(1); + softly.assertThat(ScaleType.zeroToMax.getStepValue(6, 3)).isEqualTo(2); + softly.assertThat(ScaleType.zeroToMax.getStepValue(6, 4)).isEqualTo(3); + softly.assertThat(ScaleType.zeroToMax.getStepValue(6, 5)).isEqualTo(4); + softly.assertThat(ScaleType.zeroToMax.getStepValue(6, 6)).isEqualTo(5); + softly.assertAll(); + } + + @Test + public void shouldGetStepValueForMaxToZero() { + SoftAssertions softly = new SoftAssertions(); + softly.assertThat(ScaleType.maxToZero.getStepValue(6, 1)).isEqualTo(5); + softly.assertThat(ScaleType.maxToZero.getStepValue(6, 2)).isEqualTo(4); + softly.assertThat(ScaleType.maxToZero.getStepValue(6, 3)).isEqualTo(3); + softly.assertThat(ScaleType.maxToZero.getStepValue(6, 4)).isEqualTo(2); + softly.assertThat(ScaleType.maxToZero.getStepValue(6, 5)).isEqualTo(1); + softly.assertThat(ScaleType.maxToZero.getStepValue(6, 6)).isEqualTo(0); + softly.assertAll(); } @Test public void shouldGetValueForZeroBalanced() { - assertThat(ScaleType.zeroBallanced.getStepValue(6, 1)).isEqualTo(-2.5); - assertThat(ScaleType.zeroBallanced.getStepValue(6, 2)).isEqualTo(-1.5); - assertThat(ScaleType.zeroBallanced.getStepValue(6, 3)).isEqualTo(-0.5); - assertThat(ScaleType.zeroBallanced.getStepValue(6, 4)).isEqualTo(0.5); - assertThat(ScaleType.zeroBallanced.getStepValue(6, 5)).isEqualTo(1.5); - assertThat(ScaleType.zeroBallanced.getStepValue(6, 6)).isEqualTo(2.5); + SoftAssertions softly = new SoftAssertions(); + softly.assertThat(ScaleType.zeroBallanced.getStepValue(6, 1)).isEqualTo(-2.5); + softly.assertThat(ScaleType.zeroBallanced.getStepValue(6, 2)).isEqualTo(-1.5); + softly.assertThat(ScaleType.zeroBallanced.getStepValue(6, 3)).isEqualTo(-0.5); + softly.assertThat(ScaleType.zeroBallanced.getStepValue(6, 4)).isEqualTo(0.5); + softly.assertThat(ScaleType.zeroBallanced.getStepValue(6, 5)).isEqualTo(1.5); + softly.assertThat(ScaleType.zeroBallanced.getStepValue(6, 6)).isEqualTo(2.5); - assertThat(ScaleType.zeroBallanced.getStepValue(7, 1)).isEqualTo(-3); - assertThat(ScaleType.zeroBallanced.getStepValue(7, 2)).isEqualTo(-2); - assertThat(ScaleType.zeroBallanced.getStepValue(7, 3)).isEqualTo(-1); - assertThat(ScaleType.zeroBallanced.getStepValue(7, 4)).isEqualTo(0); - assertThat(ScaleType.zeroBallanced.getStepValue(7, 5)).isEqualTo(1); - assertThat(ScaleType.zeroBallanced.getStepValue(7, 6)).isEqualTo(2); - assertThat(ScaleType.zeroBallanced.getStepValue(7, 7)).isEqualTo(3); + softly.assertThat(ScaleType.zeroBallanced.getStepValue(7, 1)).isEqualTo(-3); + softly.assertThat(ScaleType.zeroBallanced.getStepValue(7, 2)).isEqualTo(-2); + softly.assertThat(ScaleType.zeroBallanced.getStepValue(7, 3)).isEqualTo(-1); + softly.assertThat(ScaleType.zeroBallanced.getStepValue(7, 4)).isEqualTo(0); + softly.assertThat(ScaleType.zeroBallanced.getStepValue(7, 5)).isEqualTo(1); + softly.assertThat(ScaleType.zeroBallanced.getStepValue(7, 6)).isEqualTo(2); + softly.assertThat(ScaleType.zeroBallanced.getStepValue(7, 7)).isEqualTo(3); + softly.assertAll(); } }