Files
k-mood/crates/domain/tests/entry/mood_test.rs
Gabriel Kaszewski 95739892de
Some checks failed
CI / ci (push) Failing after 1m48s
init
2026-08-25 23:24:36 +02:00

41 lines
998 B
Rust

use domain::entry::Mood;
use domain::errors::DomainError;
#[test]
fn mood_values_map_to_expected_scale() {
assert_eq!(Mood::Awful.value(), 1);
assert_eq!(Mood::Bad.value(), 2);
assert_eq!(Mood::Meh.value(), 3);
assert_eq!(Mood::Good.value(), 4);
assert_eq!(Mood::Rad.value(), 5);
}
#[test]
fn mood_ordering_reflects_scale() {
assert!(Mood::Awful < Mood::Bad);
assert!(Mood::Bad < Mood::Meh);
assert!(Mood::Meh < Mood::Good);
assert!(Mood::Good < Mood::Rad);
}
#[test]
fn valid_values_convert_to_mood() {
for value in 1..=5u8 {
let mood = Mood::try_from(value);
assert!(mood.is_ok());
assert_eq!(mood.unwrap().value(), value);
}
}
#[test]
fn zero_is_invalid_mood_value() {
let result = Mood::try_from(0u8);
assert!(matches!(result, Err(DomainError::InvalidInput(_))));
}
#[test]
fn six_is_invalid_mood_value() {
let result = Mood::try_from(6u8);
assert!(matches!(result, Err(DomainError::InvalidInput(_))));
}