Basic tests for passengers

Signed-off-by: TheMode <themode@outlook.fr>
This commit is contained in:
TheMode 2022-01-24 07:42:30 +01:00
parent d316290ab8
commit a0549fdcad
1 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,49 @@
package net.minestom.server.entity;
import net.minestom.server.api.Env;
import net.minestom.server.api.EnvTest;
import net.minestom.server.coordinate.Pos;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
@EnvTest
public class PassengerIntegrationTest {
@Test
public void passenger(Env env) {
var instance = env.createFlatInstance();
var vehicle = new Entity(EntityType.ZOMBIE);
var passenger = new Entity(EntityType.ZOMBIE);
vehicle.setInstance(instance, new Pos(0, 40, 0)).join();
passenger.setInstance(instance, new Pos(0, 40, 0)).join();
assertEquals(0, vehicle.getPassengers().size());
assertNull(passenger.getVehicle());
vehicle.addPassenger(passenger);
assertEquals(1, vehicle.getPassengers().size());
assertEquals(vehicle, passenger.getVehicle());
}
@Test
public void passengerTeleport(Env env) {
var instance = env.createFlatInstance();
var vehicle = new Entity(EntityType.ZOMBIE);
var passenger = new Entity(EntityType.ZOMBIE);
vehicle.setInstance(instance, new Pos(0, 40, 0)).join();
passenger.setInstance(instance, new Pos(0, 40, 5000)).join();
assertEquals(0, vehicle.getPassengers().size());
assertNull(passenger.getVehicle());
vehicle.addPassenger(passenger);
assertEquals(1, vehicle.getPassengers().size());
assertEquals(vehicle, passenger.getVehicle());
assertTrue(passenger.getDistance(vehicle) < 2);
}
}