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

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").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());
}
}
}
}
}
}