#include <iostream>
#include "uCalc.h"

using namespace std;
using namespace uCalcSoftware;

int main() {
   uCalc uc;
   // Inspect basic properties of built-in types
   cout << uc.DataTypeOf(BuiltInType::Integer_8u).Name() << endl;
   cout << uc.DataTypeOf(BuiltInType::Integer_32).ByteSize() << endl;

   // Testing edge case conversions mentioned in development notes
   // Also string conversion behavior for signed vs unsigned and complex types
   cout << uc.DataTypeOf(BuiltInType::Integer_8u).ToString("-1") << endl;
   cout << uc.DataTypeOf(BuiltInType::Integer_16u).ToString("-1") << endl;
   cout << uc.DataTypeOf(BuiltInType::String).ToString("-1") << endl;
   cout << uc.DataTypeOf(BuiltInType::Boolean).ToString("-1") << endl;
}