v1.2版本改为通过xbox系列手柄进行遥控,并增加智能模式和手动模式

This commit is contained in:
myperworld committed 2025-10-10 21:58:44 +08:00
1 parent 76603d3c31
commit 1a97bc32c3
1839 files changed
+478852 -3

No files matched your search

@@ -0,0 +1,51 @@
#include "doctest.h"
#include "fl/async.h"
#include "fl/task.h"
#include "fl/time.h"
#include "fl/warn.h"
TEST_CASE("Async tasks run correctly [async]") {
// Clear any leftover tasks from previous tests
fl::Scheduler::instance().clear_all_tasks();
SUBCASE("A simple task runs") {
bool task_ran = false;
auto task = fl::task::every_ms(10);
task.then([&task_ran]() {
task_ran = true;
});
fl::Scheduler::instance().add_task(task);
fl::Scheduler::instance().update();
REQUIRE(task_ran);
// Clear task after this subcase to prevent interference
fl::Scheduler::instance().clear_all_tasks();
}
SUBCASE("Task timing works correctly") {
// Clear any leftover tasks from previous subcases
fl::Scheduler::instance().clear_all_tasks();
int run_count = 0;
auto task = fl::task::every_ms(50); // 50ms interval
task.then([&run_count]() {
run_count++;
});
fl::Scheduler::instance().add_task(task);
// Run immediately - should execute
fl::Scheduler::instance().update();
REQUIRE(run_count == 1);
// Run again immediately - should not execute (not enough time passed)
fl::Scheduler::instance().update();
REQUIRE(run_count == 1);
// Clear task after this subcase
fl::Scheduler::instance().clear_all_tasks();
}
}