• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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