@@ -54,99 +54,7 @@ TEST(AsyncRef, Disconnect) {
54
54
ecsact_async_disconnect ();
55
55
}
56
56
57
- // TEST(AsyncRef, AddUpdateAndRemove) {
58
- // auto connect_req_id = ecsact_async_connect("good");
59
-
60
- // async_test::NeededComponent my_needed_component{};
61
-
62
- // ecsact_component needed_component{
63
- // .component_id = async_test::NeededComponent::id,
64
- // .component_data = &my_needed_component,
65
- // };
66
-
67
- // async_test::ComponentUpdate my_update_component{};
68
- // auto update_comp_id =
69
- // async_test::ComponentUpdate::id; my_update_component.value_to_update = 1;
70
- // const void* update_component_data = &my_update_component;
71
-
72
- // ecsact_component update_component{
73
- // .component_id = update_comp_id,
74
- // .component_data = update_component_data,
75
- // };
76
-
77
- // auto entity_request = ecsact_async_create_entity();
78
-
79
- // entity_cb_info cb_info{};
80
-
81
- // auto entity_cb = //
82
- // [](
83
- // ecsact_entity_id entity_id,
84
- // ecsact_async_request_id request_id,
85
- // void* callback_user_data
86
- // ) {
87
- // entity_cb_info& entity_info =
88
- // *static_cast<entity_cb_info*>(callback_user_data);
89
- // entity_info.wait = true;
90
- // entity_info.entity = entity_id;
91
- // };
92
-
93
- // ecsact_async_events_collector async_evc{};
94
- // async_evc.async_entity_callback = entity_cb;
95
- // async_evc.async_entity_error_callback_user_data = &cb_info;
96
-
97
- // int check_count = 0;
98
-
99
- // while(cb_info.wait != true) {
100
- // ASSERT_LT(++check_count, 10000);
101
- // ecsact_async_flush_events(nullptr, &async_evc);
102
- // }
103
-
104
- // std::array<ecsact_component, 2> components{
105
- // needed_component,
106
- // update_component,
107
- // };
108
- // std::array<ecsact_entity_id, 2> components_entities = {
109
- // cb_info.entity,
110
- // cb_info.entity};
111
-
112
- // ecsact_execution_options add_options{};
113
-
114
- // add_options.add_components_length = components.size();
115
- // add_options.add_components_entities = components_entities.data();
116
- // add_options.add_components = components.data();
117
-
118
- // ecsact_async_enqueue_execution_options(add_options);
119
-
120
- // ecsact_async_flush_events(nullptr, nullptr);
121
-
122
- // my_update_component.value_to_update += 5;
123
-
124
- // std::array<ecsact_component, 1> update_components = {update_component};
125
-
126
- // ecsact_execution_options update_options{};
127
- // update_options.update_components_length = update_components.size();
128
- // update_options.update_components_entities = components_entities.data();
129
- // update_options.update_components = update_components.data();
130
-
131
- // ecsact_async_enqueue_execution_options(update_options);
132
-
133
- // ecsact_async_flush_events(nullptr, nullptr);
134
-
135
- // std::array<ecsact_component_id, 1> remove_components = {update_comp_id};
136
-
137
- // ecsact_execution_options remove_options{};
138
- // remove_options.remove_components_length = 1;
139
- // remove_options.remove_components_entities = components_entities.data();
140
- // remove_options.remove_components = remove_components.data();
141
-
142
- // ecsact_async_enqueue_execution_options(remove_options);
143
-
144
- // ecsact_async_flush_events(nullptr, nullptr);
145
-
146
- // ecsact_async_disconnect();
147
- // }
148
-
149
- TEST (AsyncRef, AddUpdateAndRemoveDelayed) {
57
+ TEST (AsyncRef, AddUpdateAndRemove) {
150
58
using namespace std ::chrono_literals;
151
59
152
60
auto connect_req_id = ecsact_async_connect (" good" );
@@ -250,10 +158,12 @@ TEST(AsyncRef, TryMergeFailure) {
250
158
auto connect_req_id = ecsact_async_connect (" good" );
251
159
252
160
async_test::NeededComponent my_needed_component{};
253
- auto needed_comp_id = async_test::NeededComponent::id;
254
- const void * needed_component_data = &my_needed_component;
161
+
162
+ auto needed_comp_id = async_test::NeededComponent::id;
163
+ const void * needed_component_data = &my_needed_component;
255
164
256
165
async_test::NeededComponent another_my_needed_component{};
166
+
257
167
auto another_needed_comp_id = async_test::NeededComponent::id;
258
168
const void * another_needed_component_data = &my_needed_component;
259
169
@@ -300,10 +210,17 @@ TEST(AsyncRef, TryMergeFailure) {
300
210
int request_ids_length,
301
211
ecsact_async_request_id* request_ids,
302
212
void * callback_user_data
303
- ) { ASSERT_EQ (async_err, ECSACT_ASYNC_ERR_EXECUTION_MERGE_FAILURE); };
213
+ ) {
214
+ ASSERT_EQ (async_err, ECSACT_ASYNC_ERR_EXECUTION_MERGE_FAILURE);
215
+ auto & entity_request =
216
+ *reinterpret_cast <ecsact_async_request_id*>(callback_user_data);
217
+ auto request_id = request_ids[0 ];
218
+ ASSERT_EQ (entity_request, request_id);
219
+ };
304
220
305
221
ecsact_async_events_collector async_evc{};
306
222
async_evc.async_error_callback = async_err_cb;
223
+ async_evc.async_error_callback_user_data = &entity_request;
307
224
308
225
std::array<ecsact_entity_id, 2 > entities{cb_info.entity , cb_info.entity };
309
226
std::array<ecsact_component, 2 > components{
0 commit comments