()
| 173 | //TODO: move where it fits better |
| 174 | #[test] |
| 175 | fn test_enum_default() { |
| 176 | let writer_raw_schema = r#" |
| 177 | { |
| 178 | "type": "record", |
| 179 | "name": "test", |
| 180 | "fields": [ |
| 181 | {"name": "a", "type": "long", "default": 42}, |
| 182 | {"name": "b", "type": "string"} |
| 183 | ] |
| 184 | } |
| 185 | "#; |
| 186 | let reader_raw_schema = r#" |
| 187 | { |
| 188 | "type": "record", |
| 189 | "name": "test", |
| 190 | "fields": [ |
| 191 | {"name": "a", "type": "long", "default": 42}, |
| 192 | {"name": "b", "type": "string"}, |
| 193 | { |
| 194 | "name": "c", |
| 195 | "type": { |
| 196 | "type": "enum", |
| 197 | "name": "suit", |
| 198 | "symbols": ["diamonds", "spades", "clubs", "hearts"] |
| 199 | }, |
| 200 | "default": "spades" |
| 201 | } |
| 202 | ] |
| 203 | } |
| 204 | "#; |
| 205 | let writer_schema = Schema::parse_str(writer_raw_schema).unwrap(); |
| 206 | let reader_schema = Schema::parse_str(reader_raw_schema).unwrap(); |
| 207 | let mut writer = Writer::with_codec(&writer_schema, Vec::new(), Codec::Null).unwrap(); |
| 208 | let mut record = Record::new(writer.schema()).unwrap(); |
| 209 | record.put("a", 27i64); |
| 210 | record.put("b", "foo"); |
| 211 | writer.append_value(record).unwrap(); |
| 212 | let input = writer.into_inner().unwrap(); |
| 213 | let mut reader = Reader::builder(&input[..]) |
| 214 | .reader_schema(&reader_schema) |
| 215 | .build() |
| 216 | .unwrap(); |
| 217 | assert_eq!( |
| 218 | reader.next().unwrap().unwrap(), |
| 219 | Value::Record(vec![ |
| 220 | ("a".to_string(), Value::Long(27)), |
| 221 | ("b".to_string(), Value::String("foo".to_string())), |
| 222 | ("c".to_string(), Value::Enum(1, "spades".to_string())), |
| 223 | ]) |
| 224 | ); |
| 225 | assert!(reader.next().is_none()); |
| 226 | } |
| 227 | |
| 228 | //TODO: move where it fits better |
| 229 | #[test] |
nothing calls this directly
no test coverage detected