CallMethod: Update unit tests

This commit is contained in:
Serhii Snitsaruk 2024-01-16 10:46:42 +01:00
parent 17a480ed19
commit 1648728e1b
3 changed files with 13 additions and 8 deletions

View File

@ -39,5 +39,10 @@ void BBVariant::_bind_methods() {
ADD_PROPERTY(PropertyInfo(Variant::INT, "type", PROPERTY_HINT_ENUM, vtypes), "set_type", "get_type"); ADD_PROPERTY(PropertyInfo(Variant::INT, "type", PROPERTY_HINT_ENUM, vtypes), "set_type", "get_type");
} }
BBVariant::BBVariant(const Variant &p_value) {
set_type(p_value.get_type());
set_saved_value(p_value);
}
BBVariant::BBVariant() { BBVariant::BBVariant() {
} }

View File

@ -27,6 +27,7 @@ public:
virtual Variant::Type get_type() const override; virtual Variant::Type get_type() const override;
void set_type(Variant::Type p_type); void set_type(Variant::Type p_type);
BBVariant(const Variant &p_value);
BBVariant(); BBVariant();
}; };

View File

@ -70,7 +70,7 @@ TEST_CASE("[Modules][LimboAI] BTCallMethod") {
SUBCASE("Should fail with 0 arguments") { SUBCASE("Should fail with 0 arguments") {
cm->set_include_delta(false); cm->set_include_delta(false);
cm->set_args(Array()); cm->set_args(TypedArray<BBVariant>());
ERR_PRINT_OFF; ERR_PRINT_OFF;
CHECK(cm->execute(0.01666) == BTTask::FAILURE); CHECK(cm->execute(0.01666) == BTTask::FAILURE);
ERR_PRINT_ON; ERR_PRINT_ON;
@ -78,8 +78,8 @@ TEST_CASE("[Modules][LimboAI] BTCallMethod") {
} }
SUBCASE("Should fail with too many arguments") { SUBCASE("Should fail with too many arguments") {
cm->set_include_delta(true); cm->set_include_delta(true);
Array args; TypedArray<BBVariant> args;
args.push_back(0.2); args.push_back(memnew(BBVariant(0.2)));
cm->set_args(args); cm->set_args(args);
ERR_PRINT_OFF; ERR_PRINT_OFF;
CHECK(cm->execute(0.01666) == BTTask::FAILURE); CHECK(cm->execute(0.01666) == BTTask::FAILURE);
@ -88,8 +88,8 @@ TEST_CASE("[Modules][LimboAI] BTCallMethod") {
} }
SUBCASE("Should fail with a wrong type arg") { SUBCASE("Should fail with a wrong type arg") {
cm->set_include_delta(false); cm->set_include_delta(false);
Array args; TypedArray<BBVariant> args;
args.push_back("wrong_data"); args.push_back(memnew(BBVariant("wrong data type")));
cm->set_args(args); cm->set_args(args);
ERR_PRINT_OFF; ERR_PRINT_OFF;
CHECK(cm->execute(0.01666) == BTTask::FAILURE); CHECK(cm->execute(0.01666) == BTTask::FAILURE);
@ -98,14 +98,13 @@ TEST_CASE("[Modules][LimboAI] BTCallMethod") {
} }
SUBCASE("Should succeed with delta included") { SUBCASE("Should succeed with delta included") {
cm->set_include_delta(true); cm->set_include_delta(true);
cm->set_args(Array());
CHECK(cm->execute(0.01666) == BTTask::SUCCESS); CHECK(cm->execute(0.01666) == BTTask::SUCCESS);
CHECK(callback_counter->num_callbacks == 1); CHECK(callback_counter->num_callbacks == 1);
} }
SUBCASE("Should succeed with one float arg") { SUBCASE("Should succeed with one float arg") {
cm->set_include_delta(false); cm->set_include_delta(false);
Array args; TypedArray<BBVariant> args;
args.push_back(0.2); args.push_back(memnew(BBVariant(0.2)));
cm->set_args(args); cm->set_args(args);
CHECK(cm->execute(0.01666) == BTTask::SUCCESS); CHECK(cm->execute(0.01666) == BTTask::SUCCESS);
CHECK(callback_counter->num_callbacks == 1); CHECK(callback_counter->num_callbacks == 1);