1 use serde::Deserialize;
2 use serde::Serialize;
3 use toml::to_string;
4 
5 #[derive(Debug, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)]
6 struct User {
7     pub name: String,
8     pub surname: String,
9 }
10 
11 #[derive(Debug, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)]
12 struct Users {
13     pub user: Vec<User>,
14 }
15 
16 #[derive(Debug, Clone, Hash, PartialEq, Eq, Serialize, Deserialize)]
17 struct TwoUsers {
18     pub user0: User,
19     pub user1: User,
20 }
21 
22 #[test]
no_unnecessary_newlines_array()23 fn no_unnecessary_newlines_array() {
24     assert!(!to_string(&Users {
25         user: vec![
26             User {
27                 name: "John".to_string(),
28                 surname: "Doe".to_string(),
29             },
30             User {
31                 name: "Jane".to_string(),
32                 surname: "Dough".to_string(),
33             },
34         ],
35     })
36     .unwrap()
37     .starts_with('\n'));
38 }
39 
40 #[test]
no_unnecessary_newlines_table()41 fn no_unnecessary_newlines_table() {
42     assert!(!to_string(&TwoUsers {
43         user0: User {
44             name: "John".to_string(),
45             surname: "Doe".to_string(),
46         },
47         user1: User {
48             name: "Jane".to_string(),
49             surname: "Dough".to_string(),
50         },
51     })
52     .unwrap()
53     .starts_with('\n'));
54 }
55