From 088def8522c4ba0c8e05f09351814e834df790ae Mon Sep 17 00:00:00 2001 From: Manuel Krombholz <s3866577@msx.tu-dresden.de> Date: Wed, 3 Feb 2021 17:26:47 +0100 Subject: [PATCH] Fixed ControllingItemTest and Item.jrag --- eraser-base/src/main/jastadd/Item.jrag | 5 +++-- .../java/de/tudresden/inf/st/eraser/ControllingItemTest.java | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/eraser-base/src/main/jastadd/Item.jrag b/eraser-base/src/main/jastadd/Item.jrag index 18e11cb4..6ccdfb49 100644 --- a/eraser-base/src/main/jastadd/Item.jrag +++ b/eraser-base/src/main/jastadd/Item.jrag @@ -137,9 +137,10 @@ aspect ItemHandling { //--- setStateFromBoolean --- public abstract void Item.setStateFromBoolean(boolean value); public void ColorItem.setStateFromBoolean(boolean value) { - if (getState().getBrightness()==0) { - setBrightness(value ? 100 : 0); + if (getState()!=null && getState().getBrightness()!=0 && value) { + return; } + setBrightness(value ? 100 : 0); } public void DateTimeItem.setStateFromBoolean(boolean value) { // there is no good way here diff --git a/eraser-base/src/test/java/de/tudresden/inf/st/eraser/ControllingItemTest.java b/eraser-base/src/test/java/de/tudresden/inf/st/eraser/ControllingItemTest.java index af5fe99f..289ee0ec 100644 --- a/eraser-base/src/test/java/de/tudresden/inf/st/eraser/ControllingItemTest.java +++ b/eraser-base/src/test/java/de/tudresden/inf/st/eraser/ControllingItemTest.java @@ -102,10 +102,10 @@ public class ControllingItemTest { assertEquals("30,20,10", stringItem.getState()); assertEquals(TupleHSB.of(30, 20, 10), target.getState(), "Item was not controlled correctly"); - // boolean true -> set brightness to full (100) + // boolean true -> brightness should still be 10 because it's already turned on booleanItem.setState(true); assertTrue(booleanItem.getState()); - assertEquals(TupleHSB.of(30, 20, 100), target.getState(), "Item was not controlled correctly"); + assertEquals(TupleHSB.of(30, 20, 10), target.getState(), "Item was not controlled correctly"); // color (33,33,33) -> set brightness to (33,33,33) colorItem.setState(TupleHSB.of(33, 33, 33)); -- GitLab