use std::process::ExitCode;
use super::super::util::exit_code_from_i32;
#[test]
fn exit_code_zero_stays_zero() {
assert_eq!(exit_code_from_i32(0), ExitCode::from(0));
}
#[test]
fn exit_code_one_stays_one() {
assert_eq!(exit_code_from_i32(1), ExitCode::from(1));
}
#[test]
fn exit_code_255_stays_255() {
assert_eq!(exit_code_from_i32(255), ExitCode::from(255));
}
#[test]
fn exit_code_256_becomes_one_not_zero() {
assert_ne!(exit_code_from_i32(256), ExitCode::from(0));
assert_eq!(exit_code_from_i32(256), ExitCode::from(1));
}
#[test]
fn exit_code_512_becomes_one_not_zero() {
assert_eq!(exit_code_from_i32(512), ExitCode::from(1));
}
#[test]
fn exit_code_negative_preserves_failure() {
assert_ne!(exit_code_from_i32(-1), ExitCode::from(0));
assert_eq!(exit_code_from_i32(-1), ExitCode::from(255));
}
#[test]
fn exit_code_257_keeps_low_byte() {
assert_eq!(exit_code_from_i32(257), ExitCode::from(1));
}