1
0
forked from Clones/Controlify

test framework

This commit is contained in:
isXander
2023-02-27 19:48:24 +00:00
parent 0d5307ba43
commit caacdf3aad
12 changed files with 411 additions and 8 deletions

View File

@ -0,0 +1,45 @@
package dev.isxander.controlify.test;
import dev.isxander.controlify.InputMode;
import dev.isxander.controlify.api.ControlifyApi;
import dev.isxander.controlify.api.bind.ControlifyBindingsApi;
import dev.isxander.controlify.api.event.ControlifyEvents;
import dev.isxander.controlify.bindings.BindingSupplier;
import dev.isxander.controlify.bindings.GamepadBinds;
import net.minecraft.resources.ResourceLocation;
import java.util.concurrent.atomic.AtomicBoolean;
import static dev.isxander.controlify.test.Assertions.*;
import static dev.isxander.controlify.test.ClientTestHelper.*;
public class ControlifyTests {
BindingSupplier binding = null;
@Test.PreLoad("Binding registry test")
void bindingRegistryTest() {
var registry = ControlifyBindingsApi.get();
assertNotNull(registry, "Binding registry is null");
binding = registry.registerBind(GamepadBinds.A_BUTTON, new ResourceLocation("controlify", "test_bind"));
assertNotNull(binding, "Bind registry failed - BindingSupplier is null");
}
@Test.PostLoad("BindingSupplier getter test")
void bindingSupplierGetterTest() {
var controller = createFakeController();
assertNotNull(binding.get(controller), "Bind registry failed - Bind for fake controller is null");
}
@Test.PostLoad("Input mode changed event test")
void checkInputModeChangedEvent() {
var api = ControlifyApi.get();
AtomicBoolean called = new AtomicBoolean(false);
ControlifyEvents.INPUT_MODE_CHANGED.register(mode -> called.set(true));
api.setInputMode(InputMode.CONTROLLER);
api.setInputMode(InputMode.KEYBOARD_MOUSE);
assertTrue(called.get(), "Input mode changed event was not called");
}
}