use super::*;
fn every_seat() -> Vec<Seat> {
let mut seats = Vec::new();
for named in [false, true] {
for pinned in [false, true] {
seats.push(Seat::WorkspaceTab { named, pinned });
}
}
for stoppable in [false, true] {
for has_children in [false, true] {
for named in [false, true] {
seats.push(Seat::ConversationRow {
stoppable,
has_children,
named,
});
}
}
}
for state in JOIN_STATES {
for assign_to in [None, Some("alba-koi".to_owned())] {
seats.push(Seat::BallRow { state, assign_to });
}
}
seats
}
fn assert_carried(entry: &Entry) {
assert!(
!entry.carrier.is_empty(),
"{entry:?} names no visible carrier"
);
assert!(!entry.label.is_empty(), "{entry:?} has no worded label");
}
#[test]
fn no_entry_is_its_verbs_sole_carrier() {
for seat in every_seat() {
for entry in entries(seat) {
assert_carried(&entry);
}
}
}