1 #[path = "protos/foo.u.pb.rs"]
2 mod protos;
3
4 use protobuf::proto;
5
6 use protos::Foo;
7
main()8 fn main() {
9 let foo = proto!(Foo { name: "foo", bar: __ { name: "bar" } });
10 dbg!(foo);
11 }
12
13 #[cfg(test)]
14 mod tests {
15 use super::*;
16
17 #[test]
set_strings()18 fn set_strings() {
19 let foo = proto!(Foo { name: "foo", bar: __ { name: "bar" } });
20
21 assert_eq!(foo.name(), "foo");
22 assert_eq!(foo.bar().name(), "bar");
23 }
24
25 #[test]
set_ints()26 fn set_ints() {
27 let foo = proto!(Foo { int: 42, bar: __ { numbers: [1, 2, 3] } });
28
29 assert_eq!(foo.int(), 42);
30 let nums: Vec<_> = foo.bar().numbers().iter().collect();
31 assert_eq!(nums, vec![1, 2, 3]);
32 }
33 }
34