-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathlib.rs
42 lines (36 loc) · 1.34 KB
/
lib.rs
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
extern crate flatbuffers;
#[allow(unused_imports)]
#[allow(clippy::all)]
mod lrs_generated;
pub use lrs_generated::*;
#[test]
fn read_and_write_lrs() {
use flatbuffers::WIPOffset;
let mut fbb = flatbuffers::FlatBufferBuilder::with_capacity(1024);
let property = PropertyArgs {
key: Some(fbb.create_string("some key")),
value: Some(fbb.create_string("some value")),
};
let properties = &[Property::create(&mut fbb, &property)];
let anchor_arg = AnchorArgs {
id: Some(fbb.create_string("Ancre")),
name: Some(fbb.create_string("12")),
..Default::default()
};
let anchor = Anchor::create(&mut fbb, &anchor_arg);
let lrs_args = LrsArgs {
properties: Some(fbb.create_vector(properties)),
anchors: Some(fbb.create_vector(&[anchor])),
networks: Some(fbb.create_vector::<WIPOffset<Network>>(&[])),
linear_referencing_methods: Some(
fbb.create_vector::<WIPOffset<LinearReferencingMethod>>(&[]),
),
views: Some(fbb.create_vector::<WIPOffset<GeometryView>>(&[])),
};
let lrs = Lrs::create(&mut fbb, &lrs_args);
fbb.finish(lrs, None);
let buffer = fbb.finished_data();
let read_rls = root_as_lrs(buffer).unwrap();
assert_eq!(read_rls.anchors().get(0).id(), "Ancre");
assert_eq!(read_rls.networks().len(), 0);
}