Exercício – escrever testes de documentação
Neste exercício, você criará testes de documentação no snippet de código a seguir para as funções div
e sub
.
Para a função div
, escreva os seguintes testes de documentação:
- Declare que
10
dividido por2
é igual a5
. - Declare que
6
dividido por3
é igual a2
. - Declare que
10
dividido por0
tem uma pane.
Para a função sub
, escreva os seguintes testes de documentação:
- Declare que
9
subtraído por2
é igual a7
. - Declare que
6
subtraído por9
é igual a-3
.
/// This function divides two numbers.
///
/// # Example #1: 10 / 2 == 5
///
/// ```
/// let result = doctests_exercise::div(...); // TODO: finish this test!
/// assert_eq!(result, 2);
/// ```
///
/// # Example #2: 6 / 3 = 2
///
/// ```
/// TODO: Write this doctest!
/// ```
///
/// # Panics
///
/// The function panics if the second argument is zero.
///
/// ```rust,should_panic
/// // panics on division by zero
/// TODO: Write this doctest!
/// ```
pub fn div(a: i32, b: i32) -> i32 {
if b == 0 {
panic!("Divide-by-zero error");
}
a / b
}
/// This function subtracts two numbers.
///
/// # Example #1: 9 - 2 == 7
///
/// ```
/// TODO: Write this doctest!
/// ```
///
/// # Example #2: 6 - 9 == -3
///
/// ```
/// TODO: Write this doctest!
/// ```
pub fn sub(a: i32, b: i32) -> i32 {
a - b
}
Lembre-se de criar o projeto em seu computador primeiro porque os testes de documentação só estão disponíveis para os crates de biblioteca. Você poderá executar os seguintes comandos em seu terminal para realizar este objetivo:
$ cargo new --lib doctests_exercise
$ cd doctests_exercise
O nome do crate precisa prefixar o nome da função porque ela já foi preenchida para a primeira atribuição desse exercício.
Para encontrar uma versão completa deste exercício, confira este link do Rust Playground.