#[test]
fn every_switchboard_from_message_requires_a_route() {
let tests = trybuild::TestCases::new();
tests.compile_fail("tests/ui/missing_switchboard_route.rs");
}
#[test]
fn a_transport_cannot_target_a_different_participant() {
let tests = trybuild::TestCases::new();
tests.compile_fail("tests/ui/transport_rejects_wrong_destination.rs");
}
#[test]
fn an_inline_transport_cannot_address_the_wrong_participant() {
let tests = trybuild::TestCases::new();
tests.compile_fail("tests/ui/inline_rejects_wrong_participant.rs");
}
#[test]
fn an_inline_outcome_must_fit_the_selected_switchboard_route() {
let tests = trybuild::TestCases::new();
tests.compile_fail("tests/ui/transport_outcome_rejects_wrong_route.rs");
}
#[test]
fn a_participant_requires_both_directional_message_families() {
let tests = trybuild::TestCases::new();
tests.compile_fail("tests/ui/participant_requires_input_family.rs");
tests.compile_fail("tests/ui/participant_requires_output_family.rs");
}
#[test]
fn a_switchboard_requires_both_message_families() {
let tests = trybuild::TestCases::new();
tests.compile_fail("tests/ui/switchboard_requires_from.rs");
tests.compile_fail("tests/ui/switchboard_requires_to.rs");
}
#[test]
fn a_switchboard_cannot_route_another_participants_input() {
let tests = trybuild::TestCases::new();
tests.compile_fail("tests/ui/switchboard_rejects_foreign_participant_route.rs");
}
#[test]
fn a_switchboard_route_must_match_both_declared_message_families() {
let tests = trybuild::TestCases::new();
tests.compile_fail("tests/ui/switchboard_rejects_mismatched_from.rs");
tests.compile_fail("tests/ui/switchboard_rejects_mismatched_to.rs");
}
#[test]
fn an_independent_inline_implementation_preserves_nominal_identity_and_exact_outcomes() {
let tests = trybuild::TestCases::new();
tests.compile_fail("tests/ui/inline_independent_wrong_output.rs");
tests.compile_fail("tests/ui/inline_independent_wrong_pipe.rs");
}