Browse Source

Add read tests

Johannes Hofmann 8 years ago
parent
commit
cace173ee8
1 changed files with 42 additions and 2 deletions
  1. 42
    2
      tests/read.rs

+ 42
- 2
tests/read.rs View File

72
         assert!(way_tags.contains(&("building", "yes")));
72
         assert!(way_tags.contains(&("building", "yes")));
73
         assert!(way_tags.contains(&("name", "triangle")));
73
         assert!(way_tags.contains(&("name", "triangle")));
74
     }
74
     }
75
+
76
+    {
77
+        let relations: Vec<_> = block.groups().flat_map(|g| g.relations()).collect();
78
+        assert_eq!(relations.len(), 1);
79
+
80
+        let tags = relations[0].tags().collect::<Vec<_>>();
81
+        assert_eq!(tags.len(), 1);
82
+        assert!(tags.contains(&("rel_key", "rel_value")));
83
+
84
+        let members = relations[0].members().collect::<Vec<_>>();
85
+        assert_eq!(members.len(), 1);
86
+        assert_eq!(members[0].role().unwrap(), "test_role");
87
+    }
75
 }
88
 }
76
 
89
 
77
 #[test]
90
 #[test]
78
-fn read() {
91
+fn read_blobs() {
79
     for path in &TEST_FILE_PATHS {
92
     for path in &TEST_FILE_PATHS {
80
         let reader = BlobReader::from_path(path).unwrap();
93
         let reader = BlobReader::from_path(path).unwrap();
81
         let blobs = reader.collect::<Result<Vec<_>>>().unwrap();
94
         let blobs = reader.collect::<Result<Vec<_>>>().unwrap();
93
 }
106
 }
94
 
107
 
95
 #[test]
108
 #[test]
96
-fn mmap_read() {
109
+fn read_mmap_blobs() {
97
     for path in &TEST_FILE_PATHS {
110
     for path in &TEST_FILE_PATHS {
98
         let mmap = unsafe { Mmap::from_path(path).unwrap() };
111
         let mmap = unsafe { Mmap::from_path(path).unwrap() };
99
         let reader = MmapBlobReader::new(&mmap);
112
         let reader = MmapBlobReader::new(&mmap);
136
         assert!(blobs[1].to_primitiveblock().is_ok());
149
         assert!(blobs[1].to_primitiveblock().is_ok());
137
     }
150
     }
138
 }
151
 }
152
+
153
+#[test]
154
+fn read_elements() {
155
+    for path in &TEST_FILE_PATHS {
156
+        let reader = ElementReader::from_path(path).unwrap();
157
+        let mut elements = 0_usize;
158
+
159
+        reader.for_each(|_element| elements += 1).unwrap();
160
+
161
+        assert_eq!(elements, 5);
162
+    }
163
+}
164
+
165
+#[test]
166
+fn par_read_elements() {
167
+    for path in &TEST_FILE_PATHS {
168
+        let reader = ElementReader::from_path(path).unwrap();
169
+
170
+        let elements = reader.par_map_reduce(
171
+            |_element| 1,
172
+            || 0_usize,
173
+            |a, b| a + b,
174
+        ).unwrap();
175
+
176
+        assert_eq!(elements, 5);
177
+    }
178
+}