📄 collection.cpp
字号:
TestCollectable2 test2;
TestCollectable2 test2_2;
TestCollectable2 test2_3;
col.addInstance(test);
col.addInstance(test2);
col.addInstance(test_2);
col.addInstance(test2_2);
col.addInstance(test_3);
col.addInstance(test2_3);
Collectable * instance = 0;
BEGIN_CASE("1","嵟弶偺梫慺傪庢摼偱偒傞") {
instance = col.getInstance(typeid(TestCollectable));
if(instance != &test)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("2","師偺梫慺傪庢摼偱偒傞") {
instance = col.getInstance(typeid(TestCollectable), instance);
if(instance != &test_2)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("3","偝傜偵師偺梫慺傪庢摼偱偒傞") {
instance = col.getInstance(typeid(TestCollectable), instance);
if(instance != &test_3)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("4","偦偺傑偨師偺梫慺傪庢摼偟偨傜NULL偑曉傞") {
instance = col.getInstance(typeid(TestCollectable), instance);
if(instance != 0)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("5","嵟弶偺梫慺傪庢摼偱偒傞") {
instance = col.getInstance(typeid(TestCollectable2));
if(instance != &test2)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("6","師偺梫慺傪庢摼偱偒傞") {
instance = col.getInstance(typeid(TestCollectable2), instance);
if(instance != &test2_2)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("7","偝傜偵師偺梫慺傪庢摼偱偒傞") {
instance = col.getInstance(typeid(TestCollectable2), instance);
if(instance != &test2_3)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("8","偦偺傑偨師偺梫慺傪庢摼偟偨傜NULL偑曉傞") {
instance = col.getInstance(typeid(TestCollectable), instance);
if(instance != 0)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("9","婎掙僋儔僗偱偼傂偭偐偐傜側偄") {
instance = col.getInstance(typeid(Collectable));
if(instance != 0)
TEST_FAIL;
} END_CASE;
TEST_CASE("10","NULL偵懳偟偰幚峴偡傞偲NULL偑曉傞", ((Collection *)0)->getInstance(typeid(Collectable)) == 0);
} END_CASE;
BEGIN_CASE("getInstance<T>()","getInstance<T>()") {
Collection col;
TestCollectable test;
TestCollectable test_2;
TestCollectable test_3;
TestCollectable2 test2;
TestCollectable2 test2_2;
TestCollectable2 test2_3;
col.addInstance(test);
col.addInstance(test2);
col.addInstance(test_2);
col.addInstance(test2_2);
col.addInstance(test_3);
col.addInstance(test2_3);
Collectable * instance = 0;
BEGIN_CASE("1","嵟弶偺梫慺傪庢摼偱偒傞") {
instance = col.getInstance<TestCollectable>();
if(instance != &test)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("2","師偺梫慺傪庢摼偱偒傞") {
instance = col.getInstance<TestCollectable>(instance);
if(instance != &test_2)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("3","偝傜偵師偺梫慺傪庢摼偱偒傞") {
instance = col.getInstance<TestCollectable>(instance);
if(instance != &test_3)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("4","偦偺傑偨師偺梫慺傪庢摼偟偨傜NULL偑曉傞") {
instance = col.getInstance<TestCollectable>(instance);
if(instance != 0)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("5","嵟弶偺梫慺傪庢摼偱偒傞") {
instance = col.getInstance<TestCollectable2>();
if(instance != &test2)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("6","師偺梫慺傪庢摼偱偒傞") {
instance = col.getInstance<TestCollectable2>(instance);
if(instance != &test2_2)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("7","偝傜偵師偺梫慺傪庢摼偱偒傞") {
instance = col.getInstance<TestCollectable2>(instance);
if(instance != &test2_3)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("8","偦偺傑偨師偺梫慺傪庢摼偟偨傜NULL偑曉傞") {
instance = col.getInstance<TestCollectable2>(instance);
if(instance != 0)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("9","婎掙僋儔僗偱堷偭妡偗傞 偦偺1") {
instance = col.getInstance<Collectable>();
if(instance != &test)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("10","婎掙僋儔僗偱堷偭妡偗傞 偦偺2") {
instance = col.getInstance<Collectable>(instance);
if(instance != &test2)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("11","婎掙僋儔僗偱堷偭妡偗傞 偦偺3") {
instance = col.getInstance<Collectable>(instance);
if(instance != &test_2)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("12","婎掙僋儔僗偱堷偭妡偗傞 偦偺4") {
instance = col.getInstance<Collectable>(instance);
if(instance != &test2_2)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("13","婎掙僋儔僗偱堷偭妡偗傞 偦偺5") {
instance = col.getInstance<Collectable>(instance);
if(instance != &test_3)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("14","婎掙僋儔僗偱堷偭妡偗傞 偦偺6") {
instance = col.getInstance<Collectable>(instance);
if(instance != &test2_3)
TEST_FAIL;
} END_CASE;
BEGIN_CASE("15","婎掙僋儔僗偱堷偭妡偗傞 偦偺7") {
instance = col.getInstance<Collectable>(instance);
if(instance != 0)
TEST_FAIL;
} END_CASE;
TEST_CASE("16","NULL偵懳偟偰幚峴偡傞偲NULL偑曉傞", ((Collection *)0)->getInstance<Collectable>() == 0);
} END_CASE;
BEGIN_CASE("removeInstance","removeInstance") {
BEGIN_CASE("1","惓忢偵嶍彍偱偒傞") {
Collection col;
TestCollectable test;
TestCollectable test2;
col.addInstance(test);
col.addInstance(test2);
BEGIN_CASE("1","懚嵼偡傞梫慺傪remove偟偨傜true") {
if(!col.removeInstance(&test))
TEST_FAIL;
} END_CASE;
BEGIN_CASE("2","偪傖傫偲徚偊偰偄傞") {
if(col.container.size() != 1 || col.container.begin()->instance != &test2)
TEST_FAIL;
} END_CASE;
} END_CASE;
BEGIN_CASE("2","NULL僀儞僗僞儞僗偵幚峴偡傞偲false") {
if(((Collection *)0)->removeInstance(0))
TEST_FAIL;
} END_CASE;
BEGIN_CASE("3","搊榐偟偰偄側偄僀儞僗僞儞僗傪巜掕偡傞偲幐攕偡傞") {
Collection col;
TestCollectable test;
TestCollectable test2;
col.addInstance(test);
if(col.removeInstance(&test2))
TEST_FAIL;
} END_CASE;
BEGIN_CASE("4","NULL僀儞僗僞儞僗傪搉偡偲幐攕偡傞") {
Collection col;
TestCollectable test;
col.addInstance(test);
if(col.removeInstance(0))
TEST_FAIL;
} END_CASE;
} END_CASE;
BEGIN_CASE("clear","clear") {
BEGIN_CASE("1","幚懱傪搊榐偟偰clear") {
Collection col;
TestCollectable2 test2;
TestSuite::clearCheckpoints();
col.addInstance(test2);
col.clear();
BEGIN_CASE("1","梫慺偑側偔側偭偰偄傞") {
if(col.container.size() != 0)
TEST_FAIL;
} END_CASE;
TEST_CASE("2","test2偼攋婞偝傟側偄", !TestSuite::isReached("TestCollectable2::~TestCollectable2"));
} END_CASE;
BEGIN_CASE("2","億僀儞僞傪搊榐偟偰clear") {
Collection col;
TestCollectable2 * test2 = new TestCollectable2;
TestSuite::clearCheckpoints();
col.addInstance(test2);
col.clear();
BEGIN_CASE("1","梫慺偑側偔側偭偰偄傞") {
if(col.container.size() != 0)
TEST_FAIL;
} END_CASE;
TEST_CASE("2","test2偼攋婞偝傟傞", TestSuite::isReached("TestCollectable2::~TestCollectable2"));
} END_CASE;
BEGIN_CASE("3","NULL僆僽僕僃僋僩偵懳偟偰幚峴偟偰傕朶憱偟側偄") {
((Collection *)0)->clear();
} END_CASE;
#ifdef _MSC_VER
BEGIN_CASE("4","椺奜偑弌傞傛偆側僨僗僩儔僋僞傪傕偮僀儞僗僞儞僗傪攋婞偡傞偲椺奜偑楻傟傞") {
Collection col;
bool result = false;
TestCollectable3 * test = new TestCollectable3;
col.addInstance(test);
try {
col.clear();
}
catch(...) {
result = true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -