| #[path = "protos/foo.u.pb.rs"] |
| mod protos; |
| |
| use protobuf::proto; |
| |
| use protos::Foo; |
| |
| fn main() { |
| let foo = proto!(Foo { name: "foo", bar: __ { name: "bar" } }); |
| dbg!(foo); |
| } |
| |
| #[cfg(test)] |
| mod tests { |
| use super::*; |
| |
| #[test] |
| fn set_strings() { |
| let foo = proto!(Foo { name: "foo", bar: __ { name: "bar" } }); |
| |
| assert_eq!(foo.name(), "foo"); |
| assert_eq!(foo.bar().name(), "bar"); |
| } |
| |
| #[test] |
| fn set_ints() { |
| let foo = proto!(Foo { int: 42, bar: __ { numbers: [1, 2, 3] } }); |
| |
| assert_eq!(foo.int(), 42); |
| let nums: Vec<_> = foo.bar().numbers().iter().collect(); |
| assert_eq!(nums, vec![1, 2, 3]); |
| } |
| } |