[−][src]Crate test4a
Testing library that provides some tools to apply "Advanced" Arrange-Act-Assert testing design.
Examples
use test4a::{Equal, Message, PanicWhen, Runner}; // Definition of the structure that contains expected values. struct Expected { value: usize, } // Definition of the "act" methods. fn add_0(message: &mut Message, value: &mut usize) { message.set("Add 0 to the initial integer"); *value += 0; } fn add_1(message: &mut Message, value: &mut usize) { message.set("Add 1 to the initial integer"); *value += 1; } fn subtract_1(message: &mut Message, value: &mut usize) { message.set("Subtract 1 to the initial integer"); *value -= 1; } // Definition of the "assert" methods. fn expect_value( message: &mut Message, value: usize, expected: Expected, ) -> Equal<usize> { message.set("value == expected.value"); Equal::new(value, expected.value) } // Definition of the tests to execute. #[test] fn test_zero() { Runner::arrange(|message| { message.set("Initial value of 0"); 0 }) .act(add_0, || Expected { value: 0 }) .act(add_1, || Expected { value: 1 }) .act_panic(PanicWhen::Debug, subtract_1) .assert(expect_value); } #[test] fn test_other() { Runner::arrange(|message| { message.set("Initial value of 42"); 42 }) .act(add_0, || Expected { value: 42 }) .act(add_1, || Expected { value: 43 }) .act(subtract_1, || Expected { value: 41 }) .assert(expect_value); }
Structs
Contains | Asserts that a value is in a vector. |
Equal | Asserts that two values are equal. |
False | Asserts that a value is |
Greater | Asserts that a value is greater than another one. |
GreaterEqual | Asserts that a value is greater than or equal to another one. |
Less | Asserts that a value is less than another one. |
LessEqual | Asserts that a value is less than or equal to another one. |
Message | Stores messages for successive steps of a test. |
Multiple | Asserts that multiple assertions created from an iterator have succeed. |
NotEqual | Asserts that two values are different. |
Runner | Describes and runs multiple tests. |
True | Asserts that a value is |
Enums
PanicWhen | Defines the configurations when a test can panic. |
Traits
Assert | Defines an assertion. |