()
| 1180 | |
| 1181 | #[test] |
| 1182 | fn test_row_convert_byte_array() { |
| 1183 | // UTF8 |
| 1184 | let descr = make_column_descr![PhysicalType::BYTE_ARRAY, ConvertedType::UTF8]; |
| 1185 | let value = ByteArray::from(vec![b'A', b'B', b'C', b'D']); |
| 1186 | let row = Field::convert_byte_array(&descr, value); |
| 1187 | assert_eq!(row.unwrap(), Field::Str("ABCD".to_string())); |
| 1188 | |
| 1189 | // ENUM |
| 1190 | let descr = make_column_descr![PhysicalType::BYTE_ARRAY, ConvertedType::ENUM]; |
| 1191 | let value = ByteArray::from(vec![b'1', b'2', b'3']); |
| 1192 | let row = Field::convert_byte_array(&descr, value); |
| 1193 | assert_eq!(row.unwrap(), Field::Str("123".to_string())); |
| 1194 | |
| 1195 | // JSON |
| 1196 | let descr = make_column_descr![PhysicalType::BYTE_ARRAY, ConvertedType::JSON]; |
| 1197 | let value = ByteArray::from(vec![b'{', b'"', b'a', b'"', b':', b'1', b'}']); |
| 1198 | let row = Field::convert_byte_array(&descr, value); |
| 1199 | assert_eq!(row.unwrap(), Field::Str("{\"a\":1}".to_string())); |
| 1200 | |
| 1201 | // NONE |
| 1202 | let descr = make_column_descr![PhysicalType::BYTE_ARRAY, ConvertedType::NONE]; |
| 1203 | let value = ByteArray::from(vec![1, 2, 3, 4, 5]); |
| 1204 | let row = Field::convert_byte_array(&descr, value.clone()); |
| 1205 | assert_eq!(row.unwrap(), Field::Bytes(value)); |
| 1206 | |
| 1207 | // BSON |
| 1208 | let descr = make_column_descr![PhysicalType::BYTE_ARRAY, ConvertedType::BSON]; |
| 1209 | let value = ByteArray::from(vec![1, 2, 3, 4, 5]); |
| 1210 | let row = Field::convert_byte_array(&descr, value.clone()); |
| 1211 | assert_eq!(row.unwrap(), Field::Bytes(value)); |
| 1212 | |
| 1213 | // DECIMAL |
| 1214 | let descr = make_column_descr![PhysicalType::BYTE_ARRAY, ConvertedType::DECIMAL, 0, 8, 2]; |
| 1215 | let value = ByteArray::from(vec![207, 200]); |
| 1216 | let row = Field::convert_byte_array(&descr, value.clone()); |
| 1217 | assert_eq!( |
| 1218 | row.unwrap(), |
| 1219 | Field::Decimal(Decimal::from_bytes(value, 8, 2)) |
| 1220 | ); |
| 1221 | |
| 1222 | // DECIMAL (FIXED_LEN_BYTE_ARRAY) |
| 1223 | let descr = make_column_descr![ |
| 1224 | PhysicalType::FIXED_LEN_BYTE_ARRAY, |
| 1225 | ConvertedType::DECIMAL, |
| 1226 | 8, |
| 1227 | 17, |
| 1228 | 5 |
| 1229 | ]; |
| 1230 | let value = ByteArray::from(vec![0, 0, 0, 0, 0, 4, 147, 224]); |
| 1231 | let row = Field::convert_byte_array(&descr, value.clone()); |
| 1232 | assert_eq!( |
| 1233 | row.unwrap(), |
| 1234 | Field::Decimal(Decimal::from_bytes(value, 17, 5)) |
| 1235 | ); |
| 1236 | |
| 1237 | // FLOAT16 |
| 1238 | let descr = { |
| 1239 | let tpe = PrimitiveTypeBuilder::new("col", PhysicalType::FIXED_LEN_BYTE_ARRAY) |
nothing calls this directly
no test coverage detected