You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.4 KiB
Rust
92 lines
2.4 KiB
Rust
use crate::api::tests::{get_api, get_test_versions};
|
|
use crate::models::block_collision_shapes::CollisionShapeIds;
|
|
|
|
#[test]
|
|
pub fn test_blocks_array() {
|
|
let versions = get_test_versions();
|
|
|
|
for version in versions {
|
|
let api = get_api(version);
|
|
assert_ne!(api.blocks.blocks_array().unwrap().len(), 0)
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
pub fn test_blocks_by_state_id() {
|
|
let versions = get_test_versions();
|
|
|
|
for version in versions {
|
|
let api = get_api(version);
|
|
let by_state = api.blocks.blocks_by_state_id();
|
|
assert!(by_state.is_ok());
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
pub fn test_blocks_by_name() {
|
|
let versions = get_test_versions();
|
|
|
|
for version in versions {
|
|
let api = get_api(version);
|
|
let by_name = api.blocks.blocks_by_name().unwrap();
|
|
assert!(by_name.get("dirt").is_some());
|
|
assert!(by_name.get("stone").is_some());
|
|
assert_eq!(by_name.get("grass_block").unwrap().stack_size, 64)
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
pub fn test_blocks_by_id() {
|
|
let versions = get_test_versions();
|
|
|
|
for version in versions {
|
|
let api = get_api(version);
|
|
let by_id = api.blocks.blocks().unwrap();
|
|
assert!(by_id.get(&1).is_some());
|
|
assert!(by_id.get(&5).is_some());
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
pub fn test_block_states() {
|
|
let versions = get_test_versions();
|
|
|
|
for version in versions {
|
|
let api = get_api(version);
|
|
let by_name = api.blocks.blocks_by_name().unwrap();
|
|
|
|
let air = by_name.get("air").unwrap();
|
|
if let Some(states) = &air.states {
|
|
// Air has no states.
|
|
assert_eq!(states.len(), 0);
|
|
}
|
|
|
|
let water = by_name.get("water").unwrap();
|
|
if let Some(states) = &water.states {
|
|
// Water has states.
|
|
assert_ne!(states.len(), 0);
|
|
}
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
pub fn test_block_collision_states() {
|
|
for version in get_test_versions() {
|
|
let api = get_api(version);
|
|
let shapes = api.blocks.block_collision_shapes().unwrap();
|
|
|
|
for (_block, ids) in shapes.blocks {
|
|
match ids {
|
|
CollisionShapeIds::Value(id) => {
|
|
assert!(shapes.shapes.get(&id).is_some());
|
|
}
|
|
CollisionShapeIds::Array(ids) => {
|
|
for id in ids {
|
|
assert!(shapes.shapes.get(&id).is_some());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|