master
Andrew Johnson 6 years ago
parent 16e5942a44
commit 5f364b19b6

@ -77,8 +77,8 @@ fn double_override_failure() {
fn double_privileged_failure() {
unsafe {
magic::override_reset_state();
magic::issue_override_code(1);
magic::issue_override_code(1);
magic::issue_override_code(2);
magic::issue_override_code(2);
assert!(magic::poll_physical_override_privileged_session() == (0 as *const c_void));
assert!(magic::poll_override_error() == 1);
}
@ -87,9 +87,111 @@ fn double_privileged_failure() {
fn double_admin_failure() {
unsafe {
magic::override_reset_state();
magic::issue_override_code(1);
magic::issue_override_code(1);
magic::issue_override_code(3);
magic::issue_override_code(3);
assert!(magic::poll_physical_override_admin_session() == (0 as *const c_void));
assert!(magic::poll_override_error() == 1);
}
}
#[test]
fn double_free_override_failure() {
unsafe {
magic::override_reset_state();
magic::issue_override_code(1);
let session = magic::poll_override_session();
assert!(session != (0 as *const c_void));
magic::free_override_session(session);
magic::free_override_session(session);
assert!(magic::poll_override_error() == 2);
}
}
#[test]
fn double_free_privileged_failure() {
unsafe {
magic::override_reset_state();
magic::issue_override_code(2);
let session = magic::poll_physical_override_privileged_session();
assert!(session != (0 as *const c_void));
magic::free_override_session(session);
magic::free_override_session(session);
assert!(magic::poll_override_error() == 2);
}
}
#[test]
fn double_free_admin_failure() {
unsafe {
magic::override_reset_state();
magic::issue_override_code(3);
let session = magic::poll_physical_override_admin_session();
assert!(session != (0 as *const c_void));
magic::free_override_session(session);
magic::free_override_session(session);
assert!(magic::poll_override_error() == 2);
}
}
#[test]
fn input_floor() {
unsafe {
magic::override_reset_state();
magic::issue_override_code(4);
magic::issue_override_code(2);
assert!(magic::poll_override_code(), 4);
assert!(magic::poll_override_code(), 2);
}
}
#[test]
fn manual_mode() {
unsafe {
magic::override_reset_state();
magic::issue_override_code(5);
assert!(magic::poll_override_code(), 5);
}
}
#[test]
fn normal_mode() {
unsafe {
magic::override_reset_state();
magic::issue_override_code(6);
assert!(magic::poll_override_code(), 6);
}
}
#[test]
fn flash() {
unsafe {
magic::override_reset_state();
magic::elevator_display_flash(222);
assert!(magic::poll_override_code(), 7);
assert!(magic::poll_override_code(), 222);
}
}
#[test]
fn toggle_light() {
unsafe {
magic::override_reset_state();
magic::elevator_display_toggle_light(33);
assert!(magic::poll_override_code(), 8);
assert!(magic::poll_override_code(), 33);
assert!(magic::poll_override_code(), 1);
magic::elevator_display_toggle_light(33);
assert!(magic::poll_override_code(), 8);
assert!(magic::poll_override_code(), 33);
assert!(magic::poll_override_code(), 0);
}
}
#[test]
fn set_light_color() {
unsafe {
magic::override_reset_state();
magic::elevator_display_set_light_color(33, 222);
assert!(magic::poll_override_code(), 9);
assert!(magic::poll_override_code(), 33);
assert!(magic::poll_override_code(), 222);
}
}

Loading…
Cancel
Save