@NonNullByDefault
public class NumberValue extends Value {
private static final String NAN = "NaN";
+ private static final String NEGATIVE_NAN = "-NaN";
private final Logger logger = LoggerFactory.getLogger(NumberValue.class);
private final @Nullable BigDecimal min;
@Override
public Type parseMessage(Command command) throws IllegalArgumentException {
- if (command instanceof StringType && command.toString().equalsIgnoreCase(NAN)) {
+ if (command instanceof StringType
+ && (command.toString().equalsIgnoreCase(NAN) || command.toString().equalsIgnoreCase(NEGATIVE_NAN))) {
return UnDefType.UNDEF;
}
return parseCommand(command);
assertThat(v.parseMessage(new StringType("NaN")), is(UnDefType.UNDEF));
assertThat(v.parseMessage(new StringType("nan")), is(UnDefType.UNDEF));
+ assertThat(v.parseMessage(new StringType("-NaN")), is(UnDefType.UNDEF));
+ assertThat(v.parseMessage(new StringType("-nan")), is(UnDefType.UNDEF));
}
@Test