Skip to content
Snippets Groups Projects
Commit 6f2210b1 authored by Michael Hauspie's avatar Michael Hauspie
Browse files

Add Moins

parent f74d8421
Branches
Tags
No related merge requests found
......@@ -60,6 +60,13 @@ mod tests {
use rocket::uri;
use super::*;
fn build_response<'r>(operation: Operation) -> (Status, OperationResult) {
let client = Client::tracked(launch()).expect("valid rocket instance");
let req = client.post(uri!(super::index)).json(&operation);
let response = req.dispatch();
(response.status(), response.into_json::<OperationResult>().unwrap())
}
#[test]
fn index() {
let client = Client::tracked(launch()).expect("valid rocket instance");
......@@ -71,13 +78,20 @@ mod tests {
#[test]
fn plus() {
let client = Client::tracked(launch()).expect("valid rocket instance");
let operation = Operation::Plus(3, 8);
let req = client.post(uri!(super::index)).json(&operation);
let response = req.dispatch();
assert_eq!(response.status(), Status::Ok);
let (status, response) = build_response(Operation::Plus(3, 8));
assert_eq!(status, Status::Ok);
let expected = OperationResult::new("3 + 8", 11);
assert_eq!(response.into_json::<OperationResult>().unwrap(), expected);
assert_eq!(response, expected);
}
#[test]
fn moins() {
let (status, response) = build_response(Operation::Moins(10, 20));
assert_eq!(status, Status::Ok);
let expected = OperationResult::new("10 - 20", -10);
assert_eq!(response, expected);
}
}
......@@ -7,6 +7,7 @@ use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Copy, Clone, Debug)]
pub enum Operation {
Plus(i32,i32),
Moins(i32,i32),
}
#[derive(Deserialize, Serialize, PartialEq, Debug)]
......@@ -31,7 +32,11 @@ impl From<&Operation> for OperationResult {
Operation::Plus(op1, op2) => OperationResult {
operation: format!("{op1} + {op2}"),
resultat: op1 + op2,
}
},
Operation::Moins(op1, op2) => OperationResult {
operation: format!("{op1} - {op2}"),
resultat: op1 - op2,
},
}
}
}
......@@ -56,4 +61,13 @@ mod tests {
assert_eq!(result, expected);
}
#[test]
fn moins() {
let operation = Operation::Moins(4, 5);
let result = OperationResult::from(operation);
let expected = OperationResult::new("4 - 5", -1);
assert_eq!(result, expected);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment