/******************************************************************************
*	File		-	tester.h
*	Author		-	Joey Pollack
*	Date		-	2021/09/15 (y/m/d)
*	Mod Date	-	2021/09/15 (y/m/d)
*	Description	-	Run a series of tests to verify engine functionality
******************************************************************************/

#ifndef TESTER_H_
#define TESTER_H_

#include <core/iRunMode.h>
#include <utils/types.h>

namespace lunarium
{
    class Image;
    
    class Tester : public iRunMode
    {
    public:
        Tester();
        OpRes Initialize();
        void Shutdown();
        void OnTick(double delta);
        void OnRender(IGraphics* g);


    private:
        Tester(const Tester&) = delete;
        const Tester& operator=(const Tester&) = delete;

    private:    // Data
        uint32_t mLogCat;
        int mTextBoxWidth;
        Sizei mImageSize;
        Image* mpRenderedImage;


    private:    // Test methods
    };
}

#endif  // TESTER_H_