From 1302683ca545e263eae5f083fec86b694e97dc20 Mon Sep 17 00:00:00 2001 From: cxl Date: Fri, 5 Apr 2013 08:26:22 +0000 Subject: [PATCH] upptst: ValueIsSame git-svn-id: svn://ultimatepp.org/upp/trunk@5952 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- upptst/ValueIsSame/ValueIsSame.cpp | 53 ++++++++++++++++++++++++++++++ upptst/ValueIsSame/ValueIsSame.upp | 9 +++++ upptst/ValueIsSame/init | 4 +++ 3 files changed, 66 insertions(+) create mode 100644 upptst/ValueIsSame/ValueIsSame.cpp create mode 100644 upptst/ValueIsSame/ValueIsSame.upp create mode 100644 upptst/ValueIsSame/init diff --git a/upptst/ValueIsSame/ValueIsSame.cpp b/upptst/ValueIsSame/ValueIsSame.cpp new file mode 100644 index 000000000..939eecd76 --- /dev/null +++ b/upptst/ValueIsSame/ValueIsSame.cpp @@ -0,0 +1,53 @@ +#include + +using namespace Upp; + +CONSOLE_APP_MAIN +{ + for(int pass = 0; pass < 3; pass++) { + ValueMap a; + a.Add(1, "1"); + a.Add(2, "2"); + + ValueMap b; + b.Add(2, "2"); + b.Add(1, "1"); + if(pass == 1) + b.Add(2, 2); + + ValueArray va1; + va1.Add(1); + va1.Add(a); + + ValueArray va2; + va2.Add(pass == 2 ? 2 : 1); + va2.Add(b); + + Value v1 = va1; + Value v2 = va2; + + LOG("--------------- " << pass); + DUMP(v1); + DUMP(v2); + DUMP(v1 == v2); + DUMP(v2 == v1); + DUMP(v1.IsSame(v2)); + DUMP(v2.IsSame(v1)); + + ASSERT(v1 != v2); + ASSERT(v2 != v1); + ASSERT(v1.IsSame(v2) == !pass); + ASSERT(v2.IsSame(v1) == !pass); + + LOG("---"); + + va2.Add(va1); + v2 = va2; + DUMP(v2); + DUMP(v1.IsSame(v2)); + DUMP(v2.IsSame(v1)); + + ASSERT(!v1.IsSame(v2)); + ASSERT(!v2.IsSame(v1)); + } +} diff --git a/upptst/ValueIsSame/ValueIsSame.upp b/upptst/ValueIsSame/ValueIsSame.upp new file mode 100644 index 000000000..d7156d95f --- /dev/null +++ b/upptst/ValueIsSame/ValueIsSame.upp @@ -0,0 +1,9 @@ +uses + Core; + +file + ValueIsSame.cpp; + +mainconfig + "" = "SSE2"; + diff --git a/upptst/ValueIsSame/init b/upptst/ValueIsSame/init new file mode 100644 index 000000000..ba284d34b --- /dev/null +++ b/upptst/ValueIsSame/init @@ -0,0 +1,4 @@ +#ifndef _ValueIsSame_icpp_init_stub +#define _ValueIsSame_icpp_init_stub +#include "Core/init" +#endif