//#include //#include //#include //#include // //#include //#include "../../core/CatchDefinitions.h" // //TEST_CASE( "PlacementFactory Tests", "[TestPlacementFactory]") { // INFO("PlacementFactory Tests"); // // const uint16_t element_sizes[3] = {sizeof(uint16_t), sizeof(uint32_t), sizeof(uint64_t)}; // const uint16_t n_elements[3] = {1, 1, 1}; // LocalPool<3> storagePool(0x1, element_sizes, n_elements, false, true); // PlacementFactory factory(&storagePool); // // SECTION("Pool overload"){ // store_address_t address; // uint8_t* ptr = nullptr; // REQUIRE(storagePool.getFreeElement(&address, sizeof(ArrayList), &ptr) // == static_cast(StorageManagerIF::DATA_TOO_LARGE)); // ArrayList* list2 = factory.generate >(80); // REQUIRE(list2 == nullptr); // } // // SECTION("Test generate and destroy"){ // uint64_t* number = factory.generate(32000); // REQUIRE(number != nullptr); // REQUIRE(*number == 32000); // store_address_t address; // uint8_t* ptr = nullptr; // REQUIRE(storagePool.getFreeElement(&address, sizeof(uint64_t), &ptr) // == static_cast(StorageManagerIF::DATA_TOO_LARGE)); // uint64_t* number2 = factory.generate(12345); // REQUIRE(number2 == nullptr); // REQUIRE(factory.destroy(number) == static_cast(HasReturnvaluesIF::RETURN_OK)); // REQUIRE(storagePool.getFreeElement(&address, sizeof(uint64_t), &ptr) // == static_cast(HasReturnvaluesIF::RETURN_OK)); // REQUIRE(storagePool.deleteData(address) == static_cast(HasReturnvaluesIF::RETURN_OK)); // // //Check that PlacementFactory checks for nullptr // ptr = nullptr; // REQUIRE(factory.destroy(ptr) == static_cast(HasReturnvaluesIF::RETURN_FAILED)); // } //}