added StackTest.cpp

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-08-01 15:42:45 +08:00
parent a17bf91358
commit 869700181f
4 changed files with 90 additions and 1 deletions

View File

@ -55,6 +55,9 @@ cm_example_project("DataType" DataArrayTest)
add_executable(Uint2HexStrTest datatype/Uint2HexStrTest.cpp)
cm_example_project("DataType" Uint2HexStrTest)
add_executable(StackTest datatype/StackTest.cpp)
cm_example_project("DataType" StackTest)
####################################################################################################
add_executable(FixFilenameTest filesystem/FixFilenameTest.cpp)

@ -1 +1 @@
Subproject commit b2f81e97d414143457c262b6dcb5cfb77de1d0d8
Subproject commit 111c0087eda734f86ff556961cd9bbd5f86330ee

View File

@ -38,6 +38,7 @@ add_executable(AndroidDeviceAnalysis AndroidDeviceAnalysis/main.cpp
AndroidDeviceAnalysis/GameRecord.h
AndroidDeviceAnalysis/GameRecord.cpp
AndroidDeviceAnalysis/AndroidDeviceRecord.cpp
AndroidDeviceAnalysis/GetDeviceLevel.cpp
# AndroidDeviceAnalysis/ExportReport.cpp
${ADA_LOAD_GAME_RECORD_SOURCE})

85
datatype/StackTest.cpp Normal file
View File

@ -0,0 +1,85 @@
#include<hgl/type/Stack.H>
#include<iostream>
using namespace hgl;
using namespace std;
void TestStack()
{
Stack<int> tab;
int i;
for(i=0;i<10;i++)
{
cout<<"push "<<i<<endl;
tab.Push(i);
}
cout<<"Stack Count: "<<tab.GetCount()<<endl;
for(i=0;i<10;i++)
{
int val;
tab.Pop(val);
cout<<"pop "<<val<<endl;
}
cout<<"Stack Count: "<<tab.GetCount()<<endl;
}
class StackTestObject
{
int val;
public:
StackTestObject(int v)
{
val=v;
cout<<"StackTestObject "<<val<<endl;
}
~StackTestObject()
{
cout<<"~StackTestObject "<<val<<endl;
}
};
void TestObjectStack()
{
ObjectStack<StackTestObject> tab;
int i;
for(i=0;i<10;i++)
{
tab.Push(new StackTestObject(i));
}
cout<<"Stack Count: "<<tab.GetCount()<<endl;
for(i=0;i<10;i++)
{
StackTestObject *obj=tab.Pop();
if(obj)
delete obj;
}
cout<<"Stack Count: "<<tab.GetCount()<<endl;
}
int os_main(int,os_char **)
{
TestStack();
cout<<"------------------------"<<endl;
TestObjectStack();
return(0);
}