fixed spelling in us

added async to us
This commit is contained in:
2021-04-24 02:03:11 +02:00
parent 5d785b54d6
commit 337df23d12
9 changed files with 64 additions and 19 deletions

View File

@ -29,6 +29,33 @@ TEST(default_update_strategy, simple_update) {
engine.update();
}
// note: we test pure single-threaded behaviour, so nothing needs to be thread save
TEST(default_update_strategy, async) {
int counter = 1;
MM::Engine engine(std::make_unique<MM::UpdateStrategies::SingleThreadedDefault>());
ASSERT_EQ(counter, 1);
engine.getUpdateStrategy().addAsync([&counter](MM::Engine&) { counter++; });
engine.update();
ASSERT_EQ(counter, 2);
for (size_t i = 0; i < 100; i++) {
engine.getUpdateStrategy().addAsync([&counter](MM::Engine&) { counter++; });
}
// make sure we dont have an infinity loop in case something is wrong
size_t max_loop_safety_count = 0;
do {
engine.update();
max_loop_safety_count++;
} while (counter != 102 && max_loop_safety_count < 10000);
ASSERT_EQ(counter, 102);
}
TEST(default_update_strategy, service) {
class TmpMockService : public MockService {
public:
@ -56,7 +83,6 @@ TEST(default_update_strategy, service) {
}
}
TEST(default_update_strategy, run_1) {
class TmpMockService : public MockService {
int& _counter;
@ -96,7 +122,7 @@ TEST(default_update_strategy, run_1) {
ASSERT_TRUE(engine.enableService<TmpMockService>());
ASSERT_EQ(counter, 1);
engine.getUpdateStrategy().addDefered([](MM::Engine& e) { e.stop(); });
engine.getUpdateStrategy().addDeferred([](MM::Engine& e) { e.stop(); });
engine.run();