Fledasty/Tests/Main.c

105 lines
No EOL
3.5 KiB
C

/*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* -----------------------------------------------------------------------------
* File: Main.c
* Description:
* Executes all tests.
*
* Author: Mineplay
* -----------------------------------------------------------------------------
*/
#include <stdio.h>
#include <Fledasty/Core/Queue.h>
#include <Fledasty/Core/Stack.h>
#include <Fledasty/Core/DynamicArray.h>
int main() {
FledastyQueue test_queue;
fledasty_queue_initialize(&test_queue, (int[]){11, 12, 13, 14, 15}, 5, sizeof(int));
for (int i = 0; i < 10; i += 1) {
fledasty_queue_push(&test_queue, &i);
}
int *peeked_queue_data = (int*)fledasty_queue_peek(&test_queue);
printf("Queue peeked: %d\n", *peeked_queue_data);
for (int i = test_queue.size; i > 0; i -= 1) {
int *popped_data = (int*)fledasty_queue_pop(&test_queue);
printf("Queue popped: %d\n", *popped_data);
}
if (fledasty_queue_is_empty(&test_queue)) {
printf("Queue is empty\n");
}
fledasty_queue_destroy(&test_queue);
FledastyStack test_stack;
fledasty_stack_initialize(&test_stack, (int[]){ 11, 12, 13, 14, 15 }, 5, sizeof(int));
for (int i = 0; i < 10; i += 1) {
fledasty_stack_push(&test_stack, &i);
}
int *peeked_stack_data = (int*)fledasty_stack_peek(&test_stack);
printf("Stack peeked: %d\n", *peeked_stack_data);
for (int i = test_stack.size; i > 0; i -= 1) {
int *popped_data = (int*)fledasty_stack_pop(&test_stack);
printf("Stack popped: %d\n", *popped_data);
}
if (fledasty_stack_is_empty(&test_stack)) {
printf("Stack is empty\n");
}
fledasty_stack_destroy(&test_stack);
FledastyDynamicArray test_dynamic_array;
fledasty_dynamic_array_initialize(&test_dynamic_array, (int[]){11, 12, 13, 14, 15}, 5, sizeof(int));
for (int i = 0; i < 10; i += 1) {
fledasty_dynamic_array_append(&test_dynamic_array, &i);
}
int insert_value = 18;
fledasty_dynamic_array_insert_at_index(&test_dynamic_array, 1, &insert_value);
insert_value = 35;
int insert_at_value = 11;
fledasty_dynamic_array_insert_before_value(&test_dynamic_array, &insert_at_value, &insert_value);
insert_value = 90;
insert_at_value = 35;
fledasty_dynamic_array_insert_after_value(&test_dynamic_array, &insert_at_value, &insert_value);
int remove_value = 15;
fledasty_dynamic_array_remove_value(&test_dynamic_array, &remove_value);
for (int i = 0; i < test_dynamic_array.size; i += 1) {
int *dynamic_array_data = (int*)fledasty_dynamic_array_get(&test_dynamic_array, i);
printf("Dynamic array get: %d\n", *dynamic_array_data);
}
if (fledasty_dynamic_array_has_value(&test_dynamic_array, &insert_value)) {
printf("Dynamic array contains %d\n", insert_value);
}
if (fledasty_dynamic_array_is_empty(&test_dynamic_array)) {
printf("Dynamic array is empty\n");
}
fledasty_dynamic_array_destroy(&test_dynamic_array);
printf("Done\n");
return 0;
}