aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests/json/json_validation_exception_test.rs
blob: 271ca9bf78fe74d1e625358c7af7c8e83e36951a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//! ref: composer/tests/Composer/Test/Json/JsonValidationExceptionTest.php

use shirabe::json::json_validation_exception::JsonValidationException;

#[test]
fn test_get_errors() {
    for (message, errors, expected_message, expected_errors) in error_provider() {
        let object = JsonValidationException::new(message.to_string(), errors.clone());
        assert_eq!(expected_message, object.get_message());
        assert_eq!(&expected_errors, object.get_errors());
    }
}

#[test]
fn test_get_errors_when_no_errors_provided() {
    let object = JsonValidationException::new("test message".to_string(), vec![]);
    assert_eq!(&Vec::<String>::new(), object.get_errors());
}

fn error_provider() -> Vec<(&'static str, Vec<String>, &'static str, Vec<String>)> {
    vec![
        ("test message", vec![], "test message", vec![]),
        ("", vec!["foo".to_string()], "", vec!["foo".to_string()]),
    ]
}