2
3
4
5
8#include <gmock/gmock.h>
9#include <Core/Container/SpanList.h>
15
16
17
23
24
25
29
30
31
38
39
44 EXPECT_EQ(m_SpanList.Empty(),
true);
48
49
59 m_SpanList.Insert(m_SpanList.Begin(), &s0);
60 EXPECT_EQ(s0.m_Prev, m_SpanList.End());
61 EXPECT_EQ(s0.m_Next, m_SpanList.End());
63 m_SpanList.Insert(&s0, &s1);
64 EXPECT_EQ(s1.m_Prev, m_SpanList.End());
68 m_SpanList.Insert(&s0, &s2);
76 m_SpanList.Erase(&s2);
82 m_SpanList.Erase(&s0);
85 EXPECT_EQ(s1.m_Next, m_SpanList.End());
87 m_SpanList.Erase(&s1);
90 EXPECT_EQ(m_SpanList.Empty(),
true);
95
96
106 m_SpanList.PushFront(&s0);
107 EXPECT_EQ(s0.m_Prev, m_SpanList.End());
108 EXPECT_EQ(s0.m_Next, m_SpanList.End());
110 m_SpanList.PushFront(&s1);
111 EXPECT_EQ(s1.m_Prev, m_SpanList.End());
115 m_SpanList.PushFront(&s2);
116 EXPECT_EQ(s2.m_Prev, m_SpanList.End());
122 scl::
span* ps2 = m_SpanList.PopFront();
126 EXPECT_EQ(m_SpanList.Begin(), &s1);
128 scl::
span* ps1 = m_SpanList.PopFront();
132 EXPECT_EQ(m_SpanList.Begin(), &s0);
134 scl::
span* ps0 = m_SpanList.PopFront();
138 EXPECT_EQ(m_SpanList.Empty(),
true);
#define SPICESTEST_PROFILE_SCOPE_LINE2(name, line)
#define SPICESTEST_PROFILE_SCOPE(name)
#define SPICESTEST_PROFILE_END_SESSION()
#define SPICESTEST_PROFILE_BEGIN_SESSION(name, filepath)
#define SPICESTEST_PROFILE_SCOPE_LINE(name, line)
#define SPICESTEST_PROFILE_FUNCTION()
InstrumentationTimer(const char *name)
std::chrono::time_point< std::chrono::steady_clock > m_StartTimepoint
Instrumentor(Instrumentor &&)=delete
static Instrumentor & Get()
void BeginSession(const std::string &name, const std::string &filepath="results.json")
void WriteProfile(const ProfileResult &result)
InstrumentationSession * m_CurrentSession
std::ofstream m_OutputStream
Instrumentor(const Instrumentor &)=delete
void InternalEndSession()
void Test(float f)
Basic Override Class Function.
static void Test1()
Static Class Function.
void Test()
Basic Override Class Function.
void TearDown() override
Testing class TearDown function.
std::vector< scl::directed_acyclic_node > m_Nodes
void SetUp() override
Testing class initialize function.
scl::directed_acyclic_graph m_DAG
The interface is inherited from testing::Test. Registy on Initialize.
void SetUp() override
The interface is inherited from testing::Test. Registry on Initialize.
scl::free_list m_FreeList
void TearDown() override
The interface is inherited from testing::Test. Call before Destructor.
The interface is inherited from testing::Test. Registry on Initialize.
scl::kd_tree< 2 > m_KDTree
Create a KDTree with 2 dimensions.
void TearDown() override
Testing class TearDown function.
void SetUp() override
Testing class initialize function.
The interface is inherited from testing::Test. Registry on Initialize.
scl::linked_unordered_map< int, std::string > c1
scl::linked_unordered_map< float, std::string > c2
scl::linked_unordered_map< std::string, std::string > c0
void SetUp() override
Testing class initialize function.
void TearDown() override
Testing class TearDown function.
The interface is inherited from testing::Test. Registry on Initialize.
void SetUp() override
The interface is inherited from testing::Test. Registry on Initialize.
void TearDown() override
Testing class TearDown function.
scl::runtime_memory_block m0
Unit Test for RuntimeMemoryBlock.
void TearDown() override
The interface is inherited from testing::Test. Call before Destructor.
void SetUp() override
The interface is inherited from testing::Test. Registry on Initialize.
scl::span_list m_SpanList
The interface is inherited from testing::Test. Registry on Initialize.
bool Empty() const
Determine if this list is empty.
void Push(void *obj)
Recycle a object memory to this free list.
void *& Begin()
Get current pointer (no const & reference version).
void *& End()
Get end pointer (no const & reference version).
Free list for memory pool.
The kd_tree with K dimensions container Class. K the number of dimensions. Every node in the tree is ...
The container combines hashmap and list together. Used in the case that we want iter a hashmap in ord...
void build()
Malloc a memory to begin_.
void add_element(const std::string &name, const std::string &type)
Add a element to object_, means a memory block will be occupied with given param type.
runtime_memory_block()=default
Constructor Function.
void * get_addr() const
Get the begin_.
The container is wrapper of a continue memory block. Used in Material::BuildMaterial(),...
Bidirectional cyclic linked list for span.
span * m_Prev
previous span.
Used for manage multiple page memory.
int main(int argc, char **argv)
The Entry of SpicesTest.
constexpr auto CleanupOutputString(const char(&expr)[N], const char(&remove)[K])
TEST_F(free_list_test, PushPop)
Testing scl::free_list::Push/Pop.
TEST_F(runtime_memory_block_test, Initialize)
Testing if initialize successfully.
TEST_F(directed_acyclic_graph_test, Addnode)
Testing if add node successfully.
TEST_F(span_list_test, Initialize)
Testing scl::span_list::Initialize.
TEST_F(linked_unordered_map_test, Initialize)
Testing if initialize successfully.
TEST_F(kd_tree_test, Insert)
Testing if Insert successfully.
TEST(tuple_test, IterTuple)
Testing std::tuple Helper Function.
void IterTuple(Tuple &tuple, Function &&f)
Iter a tuple.
std::chrono::microseconds ElapsedTime
FloatingPointMicroseconds Start