ArmNN
 20.08
RefMemoryManagerTests.cpp File Reference
#include <reference/RefMemoryManager.hpp>
#include <boost/test/unit_test.hpp>

Go to the source code of this file.

Typedefs

using Pool = RefMemoryManager::Pool
 

Functions

 BOOST_AUTO_TEST_CASE (ManageOneThing)
 
 BOOST_AUTO_TEST_CASE (ManageTwoThings)
 

Typedef Documentation

◆ Pool

Definition at line 12 of file RefMemoryManagerTests.cpp.

Function Documentation

◆ BOOST_AUTO_TEST_CASE() [1/2]

BOOST_AUTO_TEST_CASE ( ManageOneThing  )

Definition at line 14 of file RefMemoryManagerTests.cpp.

References RefMemoryManager::Acquire(), RefMemoryManager::GetPointer(), RefMemoryManager::Manage(), and RefMemoryManager::Release().

15 {
16  RefMemoryManager memoryManager;
17 
18  Pool* pool = memoryManager.Manage(10);
19 
20  BOOST_CHECK(pool);
21 
22  memoryManager.Acquire();
23 
24  BOOST_CHECK(memoryManager.GetPointer(pool) != nullptr); // Yields a valid pointer
25 
26  memoryManager.Release();
27 }
Pool * Manage(unsigned int numBytes)
void * GetPointer(Pool *pool)

◆ BOOST_AUTO_TEST_CASE() [2/2]

BOOST_AUTO_TEST_CASE ( ManageTwoThings  )

Definition at line 29 of file RefMemoryManagerTests.cpp.

References RefMemoryManager::Acquire(), BOOST_AUTO_TEST_SUITE_END(), RefMemoryManager::GetPointer(), RefMemoryManager::Manage(), and RefMemoryManager::Release().

30 {
31  RefMemoryManager memoryManager;
32 
33  Pool* pool1 = memoryManager.Manage(10);
34  Pool* pool2 = memoryManager.Manage(5);
35 
36  BOOST_CHECK(pool1);
37  BOOST_CHECK(pool2);
38 
39  memoryManager.Acquire();
40 
41  void *p1 = memoryManager.GetPointer(pool1);
42  void *p2 = memoryManager.GetPointer(pool2);
43 
44  BOOST_CHECK(p1);
45  BOOST_CHECK(p2);
46  BOOST_CHECK(p1 != p2);
47 
48  memoryManager.Release();
49 }
Pool * Manage(unsigned int numBytes)
void * GetPointer(Pool *pool)