Поскольку значение DarkRed равно , оба значения Dark
и DarkRed
, а is Dark
проверяется перед is DarkRed
.
when
введет первое предложение, которое разрешается в true.
Чтобы исправить это, поместите наиболее специфичные c проверки перед меньшими спецификациями c проверки.