Skip to content
Snippets Groups Projects
Commit 4e724206 authored by uhensler's avatar uhensler
Browse files

OO-4080: Likert scales "0 to x" and "x to 0"

parent 016ce3fd
No related branches found
No related tags found
No related merge requests found
......@@ -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) {
......
......@@ -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)
......
......@@ -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)
......
......@@ -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();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment