mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
[ATL_APITEST] Fix CSimpleArray test
The test violated the one definition rule and was using the constructor from a different implementation of CCreature.
This commit is contained in:
parent
be56475ccf
commit
d5b3bb4f4a
1 changed files with 43 additions and 43 deletions
|
@ -14,31 +14,31 @@
|
||||||
#include <atlbase.h>
|
#include <atlbase.h>
|
||||||
#include <atlsimpcoll.h>
|
#include <atlsimpcoll.h>
|
||||||
|
|
||||||
struct CCreature
|
struct CSimpleCreature
|
||||||
{
|
{
|
||||||
static int s_nCount;
|
static int s_nCount;
|
||||||
static int s_nCopyCount;
|
static int s_nCopyCount;
|
||||||
CCreature()
|
CSimpleCreature()
|
||||||
{
|
{
|
||||||
CCreature::s_nCount++;
|
CSimpleCreature::s_nCount++;
|
||||||
}
|
}
|
||||||
CCreature(const CCreature& c)
|
CSimpleCreature(const CSimpleCreature& c)
|
||||||
{
|
{
|
||||||
CCreature::s_nCount++;
|
CSimpleCreature::s_nCount++;
|
||||||
}
|
}
|
||||||
~CCreature()
|
~CSimpleCreature()
|
||||||
{
|
{
|
||||||
CCreature::s_nCount--;
|
CSimpleCreature::s_nCount--;
|
||||||
}
|
}
|
||||||
CCreature& operator=(const CCreature& other)
|
CSimpleCreature& operator=(const CSimpleCreature& other)
|
||||||
{
|
{
|
||||||
CCreature::s_nCopyCount++;
|
CSimpleCreature::s_nCopyCount++;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
int CCreature::s_nCount = 0;
|
int CSimpleCreature::s_nCount = 0;
|
||||||
int CCreature::s_nCopyCount = 0;
|
int CSimpleCreature::s_nCopyCount = 0;
|
||||||
|
|
||||||
|
|
||||||
START_TEST(CSimpleArray)
|
START_TEST(CSimpleArray)
|
||||||
|
@ -83,60 +83,60 @@ START_TEST(CSimpleArray)
|
||||||
ok_int(array1[2], 2);
|
ok_int(array1[2], 2);
|
||||||
ok_int(array1[3], 3);
|
ok_int(array1[3], 3);
|
||||||
|
|
||||||
ok_int(CCreature::s_nCount, 0);
|
ok_int(CSimpleCreature::s_nCount, 0);
|
||||||
ok_int(CCreature::s_nCopyCount, 0);
|
ok_int(CSimpleCreature::s_nCopyCount, 0);
|
||||||
|
|
||||||
CSimpleArray<CCreature> array2;
|
CSimpleArray<CSimpleCreature> array2;
|
||||||
{
|
{
|
||||||
CCreature creature1, creature2;
|
CSimpleCreature creature1, creature2;
|
||||||
|
|
||||||
ok_int(CCreature::s_nCount, 2);
|
ok_int(CSimpleCreature::s_nCount, 2);
|
||||||
ok_int(CCreature::s_nCopyCount, 0);
|
ok_int(CSimpleCreature::s_nCopyCount, 0);
|
||||||
array2.Add(creature1);
|
array2.Add(creature1);
|
||||||
ok_int(CCreature::s_nCount, 3);
|
ok_int(CSimpleCreature::s_nCount, 3);
|
||||||
ok_int(CCreature::s_nCopyCount, 0);
|
ok_int(CSimpleCreature::s_nCopyCount, 0);
|
||||||
array2.Add(creature2);
|
array2.Add(creature2);
|
||||||
ok_int(CCreature::s_nCount, 4);
|
ok_int(CSimpleCreature::s_nCount, 4);
|
||||||
ok_int(CCreature::s_nCopyCount, 0);
|
ok_int(CSimpleCreature::s_nCopyCount, 0);
|
||||||
}
|
}
|
||||||
ok_int(CCreature::s_nCount, 2);
|
ok_int(CSimpleCreature::s_nCount, 2);
|
||||||
ok_int(CCreature::s_nCopyCount, 0);
|
ok_int(CSimpleCreature::s_nCopyCount, 0);
|
||||||
|
|
||||||
{
|
{
|
||||||
CSimpleArray<CCreature> array3(array2), array4, array5;
|
CSimpleArray<CSimpleCreature> array3(array2), array4, array5;
|
||||||
ok_int(CCreature::s_nCount, 4);
|
ok_int(CSimpleCreature::s_nCount, 4);
|
||||||
ok_int(CCreature::s_nCopyCount, 0);
|
ok_int(CSimpleCreature::s_nCopyCount, 0);
|
||||||
|
|
||||||
array4 = array2;
|
array4 = array2;
|
||||||
ok_int(CCreature::s_nCount, 6);
|
ok_int(CSimpleCreature::s_nCount, 6);
|
||||||
ok_int(CCreature::s_nCopyCount, 0);
|
ok_int(CSimpleCreature::s_nCopyCount, 0);
|
||||||
|
|
||||||
CCreature creature1;
|
CSimpleCreature creature1;
|
||||||
ok_int(CCreature::s_nCount, 7);
|
ok_int(CSimpleCreature::s_nCount, 7);
|
||||||
ok_int(CCreature::s_nCopyCount, 0);
|
ok_int(CSimpleCreature::s_nCopyCount, 0);
|
||||||
|
|
||||||
array4.Add(creature1);
|
array4.Add(creature1);
|
||||||
ok_int(CCreature::s_nCount, 8);
|
ok_int(CSimpleCreature::s_nCount, 8);
|
||||||
ok_int(CCreature::s_nCopyCount, 0);
|
ok_int(CSimpleCreature::s_nCopyCount, 0);
|
||||||
|
|
||||||
array3 = array4;
|
array3 = array4;
|
||||||
ok_int(CCreature::s_nCount, 9);
|
ok_int(CSimpleCreature::s_nCount, 9);
|
||||||
ok_int(CCreature::s_nCopyCount, 0);
|
ok_int(CSimpleCreature::s_nCopyCount, 0);
|
||||||
|
|
||||||
array5 = array2;
|
array5 = array2;
|
||||||
ok_int(CCreature::s_nCount, 11);
|
ok_int(CSimpleCreature::s_nCount, 11);
|
||||||
ok_int(CCreature::s_nCopyCount, 0);
|
ok_int(CSimpleCreature::s_nCopyCount, 0);
|
||||||
|
|
||||||
array5 = array2;
|
array5 = array2;
|
||||||
ok_int(CCreature::s_nCount, 11);
|
ok_int(CSimpleCreature::s_nCount, 11);
|
||||||
ok_int(CCreature::s_nCopyCount, 0);
|
ok_int(CSimpleCreature::s_nCopyCount, 0);
|
||||||
}
|
}
|
||||||
ok_int(CCreature::s_nCount, 2);
|
ok_int(CSimpleCreature::s_nCount, 2);
|
||||||
ok_int(CCreature::s_nCopyCount, 0);
|
ok_int(CSimpleCreature::s_nCopyCount, 0);
|
||||||
|
|
||||||
array2.RemoveAll();
|
array2.RemoveAll();
|
||||||
ok_int(CCreature::s_nCount, 0);
|
ok_int(CSimpleCreature::s_nCount, 0);
|
||||||
ok_int(CCreature::s_nCopyCount, 0);
|
ok_int(CSimpleCreature::s_nCopyCount, 0);
|
||||||
|
|
||||||
array1.RemoveAll();
|
array1.RemoveAll();
|
||||||
ok_int(array1.GetSize(), 0);
|
ok_int(array1.GetSize(), 0);
|
||||||
|
|
Loading…
Reference in a new issue