From ebb53afdffd0257da42b5ddd84b38dade5605157 Mon Sep 17 00:00:00 2001 From: cxl Date: Sun, 28 Feb 2010 12:19:26 +0000 Subject: [PATCH] upptst: Xmlize test git-svn-id: svn://ultimatepp.org/upp/trunk@2154 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- upptst/Xmlize/Xmlize.cpp | 82 ++++++++++++++++++++++++++++++++++++++++ upptst/Xmlize/Xmlize.upp | 9 +++++ 2 files changed, 91 insertions(+) create mode 100644 upptst/Xmlize/Xmlize.cpp create mode 100644 upptst/Xmlize/Xmlize.upp diff --git a/upptst/Xmlize/Xmlize.cpp b/upptst/Xmlize/Xmlize.cpp new file mode 100644 index 000000000..5b80d4d5f --- /dev/null +++ b/upptst/Xmlize/Xmlize.cpp @@ -0,0 +1,82 @@ +#include + +using namespace Upp; + +template +struct Data { + T val; + + void Xmlize(XmlIO xml) { + xml("value", val); + } +}; + +template +void Test(const T& x) { + LOG("----------------------------------------"); + LOG("Xmlize: " << x << " [" << typeid(T).name() << "]"); + Data data; + data.val = x; + String xml = StoreAsXML(data, "XmlizeTest"); + LOG("Xml: "); + LOG(xml); + Data data2; + ASSERT(LoadFromXML(data2, xml)); + LOG("Loaded: " << data2.val); + ASSERT(data2.val == x); +} + +struct DataV { + Value val; + + void Xmlize(XmlIO xml) { + xml("Value", val); + } +}; + +template +void TestV(const T& x) { + Test(x); + LOG("-----"); + DataV data; + data.val = x; + String xml = StoreAsXML(data, "XmlizeValue"); + LOG("Value Xml: "); + LOG(xml); + DataV data2; + ASSERT(LoadFromXML(data2, xml)); + LOG("Loaded: " << data2.val); + ASSERT(data2.val == data.val); +} + +CONSOLE_APP_MAIN +{ + TestV(String("Just a test!")); + TestV(WString("Just a test!")); + TestV((int) 123); + Test((dword) 0xffff0000); + TestV(12.3456789); + Test((int16)20000); + TestV((int64)I64(0xffff000025689)); + Test((int16)123); + + TestV(GetSysTime()); + TestV(GetSysDate()); + + TestV(Point(1, 2)); + Test(Point16(1, 2)); + TestV(Point64(1, 2)); + TestV(Pointf(1, 2)); + + TestV(Size(3, 4)); + Test(Size16(3, 4)); + TestV(Size64(3, 4)); + TestV(Sizef(3, 4)); + + TestV(Rect(23, 12, 56, 88)); + Test(Rect16(23, 12, 56, 88)); + TestV(Rect64(23, 12, 56, 88)); + TestV(Rectf(23, 12, 56, 88)); + + TestV(Magenta()); +} diff --git a/upptst/Xmlize/Xmlize.upp b/upptst/Xmlize/Xmlize.upp new file mode 100644 index 000000000..126baaa46 --- /dev/null +++ b/upptst/Xmlize/Xmlize.upp @@ -0,0 +1,9 @@ +uses + Core; + +file + Xmlize.cpp; + +mainconfig + "" = ""; +