validate snak parsing results

This commit is contained in:
Smitty 2021-05-29 17:06:52 -04:00
parent 2939ad9918
commit 48eb6bf085
2 changed files with 26 additions and 24 deletions

View file

@ -1,11 +1,14 @@
// test parsing various snaks
use wikidata::*;
#[test]
fn simple_snak_from_json() {
let j: serde_json:: Value = serde_json::from_str(include_str!("../items/Q106975887.json")).unwrap();
let snak = &j["entities"]["Q106975887"]["claims"]["P31"][0]["mainsnak"];
println!("{:?}", snak);
wikidata::ClaimValueData::parse_snak(snak.clone()).unwrap();
let data = ClaimValueData::parse_snak(snak.clone()).unwrap();
assert_eq!(data, ClaimValueData::Item(Qid(5)));
}
@ -14,7 +17,8 @@ fn complex_snak_from_json() {
let j: serde_json:: Value = serde_json::from_str(include_str!("../items/Q42.json")).unwrap();
let snak = &j["entities"]["Q42"]["claims"]["P18"][0]["mainsnak"];
println!("{:?}", snak);
wikidata::ClaimValueData::parse_snak(snak.clone()).unwrap();
let data = ClaimValueData::parse_snak(snak.clone()).unwrap();
assert_eq!(data, ClaimValueData::CommonsMedia("Douglas adams portrait cropped.jpg".to_string()));
}
#[test]
@ -22,5 +26,6 @@ fn other_complex_snak_from_json() {
let j: serde_json:: Value = serde_json::from_str(include_str!("../items/Q1.json")).unwrap();
let snak = &j["entities"]["Q1"]["claims"]["P793"][0]["mainsnak"];
println!("{:?}", snak);
wikidata::ClaimValueData::parse_snak(snak.clone()).unwrap();
let data = ClaimValueData::parse_snak(snak.clone()).unwrap();
assert_eq!(data, ClaimValueData::Item(Qid(323)));
}