diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-07-10 01:11:55 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-07-10 01:11:55 +0300 |
commit | 1ae0ec902a7d242c9f6a5cf365190c1592134d53 (patch) | |
tree | 3004e8c5ffaff9f1a209fb376fa4905be34b4975 /test/test34.cpp | |
parent | 448b1a6a299033709e2fb585ac4b7f7c29cde919 (diff) | |
download | paranucker-1ae0ec902a7d242c9f6a5cf365190c1592134d53.tar.gz paranucker-1ae0ec902a7d242c9f6a5cf365190c1592134d53.tar.bz2 paranucker-1ae0ec902a7d242c9f6a5cf365190c1592134d53.tar.xz paranucker-1ae0ec902a7d242c9f6a5cf365190c1592134d53.zip |
Add test 34. Update test 31. Update test results.
Diffstat (limited to 'test/test34.cpp')
-rw-r--r-- | test/test34.cpp | 245 |
1 files changed, 245 insertions, 0 deletions
diff --git a/test/test34.cpp b/test/test34.cpp new file mode 100644 index 0000000..8cf671a --- /dev/null +++ b/test/test34.cpp @@ -0,0 +1,245 @@ +struct Data1; + +struct Data1 +{ + int val; + Data1 *ptrval; + int arr[3]; +}; + +struct Data2 : public Data1 +{ +}; + +int k; + +void paranuckerInternalTest(const char *action, const char *collection, const char *values); + +class Object1 +{ + Data1 *tmp1; + Data1 *tmp2; + + Data1 *getData1() + { + return tmp2; + } + + void func1(Data1 *ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + while (ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + ptr1->val = 100; + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + ptr1->val = 200; + } + + void func2(Data1 *ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + if (ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + ptr1->val = 100; + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + ptr1->val = 200; + } + + void func3(Data1 *ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + if (ptr1->val == 100) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + ptr1 = getData1(); + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", "ptr1"); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", "ptr1"); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + } + + void func4(Data1 *ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + while (ptr1->val == 100) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + ptr1 = getData1(); + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", "ptr1"); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", "ptr1"); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + } + + void func5(Data1 *ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + if (!ptr1) + return; + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", "ptr1"); + if (ptr1->val == 100) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", "ptr1"); + ptr1 = getData1(); + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", "ptr1"); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", "ptr1"); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + } + + void func6(Data1 *ptr1) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + if (!ptr1) + return; + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", "ptr1"); + while (ptr1->val == 100) + { + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", "ptr1"); + ptr1 = getData1(); + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", "ptr1"); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + } + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "addNullVars", "ptr1"); + paranuckerInternalTest("=", "removeNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + } +}; |