diff options
| author | mat <github@matdoes.dev> | 2021-12-20 01:53:23 -0600 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2021-12-20 01:53:23 -0600 |
| commit | b91b579bef9695939e9bce58b64463d9debc7b71 (patch) | |
| tree | 178b8eea73c56fdbcdf267f4eddb51042c5a9004 | |
| parent | 5090ebe25f1f68b792188c3d3d034d1d30d8b231 (diff) | |
| download | azalea-drasl-b91b579bef9695939e9bce58b64463d9debc7b71.tar.xz | |
add more tests and benchmarks for nbt
| -rw-r--r-- | azalea-nbt/benches/my_benchmark.rs | 6 | ||||
| -rw-r--r-- | azalea-nbt/tests/complex_player.dat | bin | 0 -> 1379 bytes | |||
| -rw-r--r-- | azalea-nbt/tests/inttest.nbt | bin | 0 -> 95 bytes | |||
| -rw-r--r-- | azalea-nbt/tests/simple_player.dat | bin | 0 -> 440 bytes | |||
| -rw-r--r-- | azalea-nbt/tests/stringtest.nbt | bin | 0 -> 251 bytes | |||
| -rw-r--r-- | azalea-nbt/tests/tests.rs | 69 |
6 files changed, 71 insertions, 4 deletions
diff --git a/azalea-nbt/benches/my_benchmark.rs b/azalea-nbt/benches/my_benchmark.rs index be114005..46a2f851 100644 --- a/azalea-nbt/benches/my_benchmark.rs +++ b/azalea-nbt/benches/my_benchmark.rs @@ -39,9 +39,11 @@ fn bench_serialize(filename: &str, c: &mut Criterion) { fn bench(c: &mut Criterion) { bench_serialize("tests/bigtest.nbt", c); - // bench_serialize("tests/simple_player.dat", c); - // bench_serialize("tests/complex_player.dat", c); + bench_serialize("tests/simple_player.dat", c); + bench_serialize("tests/complex_player.dat", c); bench_serialize("tests/level.dat", c); + bench_serialize("tests/stringtest.nbt", c); + bench_serialize("tests/inttest.nbt", c); } criterion_group!(benches, bench); diff --git a/azalea-nbt/tests/complex_player.dat b/azalea-nbt/tests/complex_player.dat Binary files differnew file mode 100644 index 00000000..d7f3fcbd --- /dev/null +++ b/azalea-nbt/tests/complex_player.dat diff --git a/azalea-nbt/tests/inttest.nbt b/azalea-nbt/tests/inttest.nbt Binary files differnew file mode 100644 index 00000000..ad9255f2 --- /dev/null +++ b/azalea-nbt/tests/inttest.nbt diff --git a/azalea-nbt/tests/simple_player.dat b/azalea-nbt/tests/simple_player.dat Binary files differnew file mode 100644 index 00000000..e5091b41 --- /dev/null +++ b/azalea-nbt/tests/simple_player.dat diff --git a/azalea-nbt/tests/stringtest.nbt b/azalea-nbt/tests/stringtest.nbt Binary files differnew file mode 100644 index 00000000..ac111433 --- /dev/null +++ b/azalea-nbt/tests/stringtest.nbt diff --git a/azalea-nbt/tests/tests.rs b/azalea-nbt/tests/tests.rs index b6bc1023..dd2bb6dd 100644 --- a/azalea-nbt/tests/tests.rs +++ b/azalea-nbt/tests/tests.rs @@ -30,8 +30,6 @@ fn test_roundtrip_hello_world() { let mut original_stream = Cursor::new(original.clone()); let tag = Tag::read(&mut original_stream).unwrap(); - println!("ok read {:?}", tag); - // write hello_world.nbt let mut result = Cursor::new(Vec::new()); tag.write(&mut result).unwrap(); @@ -56,3 +54,70 @@ fn test_bigtest() { assert_eq!(decoded_tag, original_tag); } + +#[test] +fn test_stringtest() { + let correct_tag = Tag::Compound(HashMap::from_iter(vec![( + "😃".to_string(), + Tag::List(vec![ + Tag::String("asdfkghasfjgihsdfogjsndfg".to_string()), + Tag::String("jnabsfdgihsabguiqwrntgretqwejirhbiqw".to_string()), + Tag::String("asd".to_string()), + Tag::String("wqierjgt7wqy8u4rtbwreithwretiwerutbwenryq8uwervqwer9iuqwbrgyuqrbtwierotugqewrtqwropethert".to_string()), + Tag::String("asdf".to_string()), + Tag::String("alsdkjiqwoe".to_string()), + Tag::String("lmqi9hyqd".to_string()), + Tag::String("qwertyuiop".to_string()), + Tag::String("asdfghjkl".to_string()), + Tag::String("zxcvbnm".to_string()), + Tag::String(" ".to_string()), + Tag::String("words words words words words words".to_string()), + Tag::String("aaaaaaaaaaaaaaaaaaaa".to_string()), + Tag::String("♥".to_string()), + Tag::String("a\nb\n\n\nc\r\rd".to_string()), + Tag::String("😁".to_string()), + ]) + )])); + let mut file = std::fs::File::open("tests/stringtest.nbt").unwrap(); + let mut original = Vec::new(); + file.read_to_end(&mut original).unwrap(); + + let mut original_stream = Cursor::new(original.clone()); + let original_tag = Tag::read_gzip(&mut original_stream).unwrap(); + + assert_eq!(original_tag, correct_tag); +} + +#[test] +fn test_complex_player() { + let mut file = std::fs::File::open("tests/complex_player.dat").unwrap(); + let mut original = Vec::new(); + file.read_to_end(&mut original).unwrap(); + + let mut original_stream = Cursor::new(original.clone()); + let original_tag = Tag::read_gzip(&mut original_stream).unwrap(); + + let mut result = Vec::new(); + original_tag.write(&mut result).unwrap(); + + let decoded_tag = Tag::read(&mut Cursor::new(result)).unwrap(); + + assert_eq!(decoded_tag, original_tag); +} + +#[test] +fn test_simple_player() { + let mut file = std::fs::File::open("tests/simple_player.dat").unwrap(); + let mut original = Vec::new(); + file.read_to_end(&mut original).unwrap(); + + let mut original_stream = Cursor::new(original.clone()); + let original_tag = Tag::read_gzip(&mut original_stream).unwrap(); + + let mut result = Vec::new(); + original_tag.write(&mut result).unwrap(); + + let decoded_tag = Tag::read(&mut Cursor::new(result)).unwrap(); + + assert_eq!(decoded_tag, original_tag); +} |
