diff --git a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/flame4/FCFlameNumberTaste.java b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/flame4/FCFlameNumberTaste.java index e2316f7..dca9ec0 100644 --- a/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/flame4/FCFlameNumberTaste.java +++ b/nx01-x4o-fc18/src/main/java/org/x4o/fc18/zion7/flame4/FCFlameNumberTaste.java @@ -118,7 +118,7 @@ public enum FCFlameNumberTaste { return FLAG_NAN; } if (ordinal() <= NUMBER_NEGATIVE.ordinal()) { - return this; + return FLAG_NAN; } return valueOf(ordinal() - CHOCO_HEAT_CYCLE_STEP); } diff --git a/nx01-x4o-fc18/src/test/java/org/x4o/fc18/zion7/flame4/FCFlameNumberTasteTest.java b/nx01-x4o-fc18/src/test/java/org/x4o/fc18/zion7/flame4/FCFlameNumberTasteTest.java index abe9a27..46ffaee 100644 --- a/nx01-x4o-fc18/src/test/java/org/x4o/fc18/zion7/flame4/FCFlameNumberTasteTest.java +++ b/nx01-x4o-fc18/src/test/java/org/x4o/fc18/zion7/flame4/FCFlameNumberTasteTest.java @@ -45,10 +45,8 @@ public class FCFlameNumberTasteTest { } @Test - public void testMeltCycle() throws Exception { - FCFlameNumberTaste taste = FCFlameNumberTaste.NUMBER_POSITIVE; - FCFlameNumberTaste tasteNew = taste.chocoRemeltDown(); - Assertions.assertEquals(taste, tasteNew); + public void testMeltCycleUp() throws Exception { + FCFlameNumberTaste tasteNew = FCFlameNumberTaste.NUMBER_POSITIVE; tasteNew = tasteNew.chocoRemeltUp(); Assertions.assertEquals(FCFlameNumberTaste.NUMBER_POSITIVE_CARRY, tasteNew); tasteNew = tasteNew.chocoRemeltUp(); @@ -65,4 +63,26 @@ public class FCFlameNumberTasteTest { Assertions.assertEquals(FCFlameNumberTaste.FLAG_NAN, tasteNew); } + @Test + public void testMeltCycleDown() throws Exception { + FCFlameNumberTaste tasteNew = FCFlameNumberTaste.FLAG_NAN; + tasteNew = tasteNew.chocoRemeltDown(); + Assertions.assertEquals(FCFlameNumberTaste.FLAG_NAN, tasteNew); + tasteNew = tasteNew.chocoRemeltDown(); + Assertions.assertEquals(FCFlameNumberTaste.FLAG_NAN, tasteNew); + + tasteNew = FCFlameNumberTaste.FLAG_INEXACT.chocoRemeltDown(); + Assertions.assertEquals(FCFlameNumberTaste.FLAG_NAN, tasteNew); + + tasteNew = FCFlameNumberTaste.INFINITY_NEGATIVE_CARRY.chocoRemeltDown(); + Assertions.assertEquals(FCFlameNumberTaste.INFINITY_NEGATIVE, tasteNew); + tasteNew = tasteNew.chocoRemeltDown(); + Assertions.assertEquals(FCFlameNumberTaste.NUMBER_NEGATIVE_CARRY, tasteNew); + tasteNew = tasteNew.chocoRemeltDown(); + Assertions.assertEquals(FCFlameNumberTaste.NUMBER_NEGATIVE, tasteNew); + tasteNew = tasteNew.chocoRemeltDown(); + Assertions.assertEquals(FCFlameNumberTaste.FLAG_NAN, tasteNew); + tasteNew = tasteNew.chocoRemeltDown(); + Assertions.assertEquals(FCFlameNumberTaste.FLAG_NAN, tasteNew); + } }