//
//  OmObjectBaseTests.cpp
//  OmUtil
//
//  Created by David Van Brink on 6/1/17.
//  Copyright (c) 2017 omino.com. All rights reserved.
//

#include "OmObjectBaseTests.h"
#include "OmObjectBase.h"
#include "OmAsserts.h"


class LightObject
{
private:
    static int count;
public:
    LightObject()
    {
        LightObject::count++;
    }
    
    ~LightObject()
    {
        LightObject::count--;
    }
};

int LightObject::count = OmObjectBase::rememberCount(&LightObject::count, "LightObject");



OMTEST(testLightCounter)
{
    LightObject lo1;
    
    LightObject *lo2 = new LightObject();
    
    ASSERT_EQUALS_INT("undisposed lightweight counteds", 2, OmObjectBase::getRememberedCountTotal());
    
    OMDELETE(lo2);
    ASSERT_EQUALS_INT("undisposed lightweight counteds", 1, OmObjectBase::getRememberedCountTotal());
}

void allObjectBaseTests()
{
    testLightCounter();
}
