diff options
Diffstat (limited to 'TAO/tests/Var_Deref/var_deref.cpp')
-rw-r--r-- | TAO/tests/Var_Deref/var_deref.cpp | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/TAO/tests/Var_Deref/var_deref.cpp b/TAO/tests/Var_Deref/var_deref.cpp new file mode 100644 index 00000000000..d48bba980c3 --- /dev/null +++ b/TAO/tests/Var_Deref/var_deref.cpp @@ -0,0 +1,83 @@ +// $Id$ + +#include "TestC.h" + +int +ACE_TMAIN(int argc, ACE_TCHAR *argv[]) +{ + int errors = 0; + Test::FixedStruct *ft = 0; + Test::FixedStruct_var ftvar ( new Test::FixedStruct ); + Test::FixedStruct_var nftvar (0); + + Test::FixedSeq *fs = 0; + Test::FixedSeq_var fsvar ( new Test::FixedSeq (0) ); + Test::FixedSeq_var nfsvar (0); + + Test::VarStruct *vt = 0; + Test::VarStruct_var vtvar ( new Test::VarStruct ); + Test::VarStruct_var nvtvar (0); + + Test::VarSeq *vs = 0; + Test::VarSeq_var vsvar (new Test::VarSeq (0) ); + Test::VarSeq_var nvsvar (0); + + ft = ftvar; + if (ft == 0) + { + ACE_DEBUG ((LM_DEBUG, "Expected a non-null FixedStruct ref, got null\n")); + ++errors; + } + ft = nftvar; + if (ft != 0) + { + ACE_DEBUG ((LM_DEBUG, "Expected a null FixedStruct ref, got non-null\n")); + ++errors; + } + + fs = fsvar; + if (fs == 0) + { + ACE_DEBUG ((LM_DEBUG, "Expected a non-null FixedSeq ref, got null\n")); + ++errors; + } + fs = nfsvar; + if (fs != 0) + { + ACE_DEBUG ((LM_DEBUG, "Expected a null FixedSeq ref, got non-null\n")); + ++errors; + } + + vt = vtvar; + if (vt == 0) + { + ACE_DEBUG ((LM_DEBUG, "Expected a non-null VarStruct rev, got null\n")); + ++errors; + } + vt = nvtvar; + if (vt != 0) + { + ACE_DEBUG ((LM_DEBUG, "Expected a null VarStruct rev, got non-null\n")); + ++errors; + } + + vs = vsvar; + if (vs == 0) + { + ACE_DEBUG ((LM_DEBUG, "Expected a non-null VarSeq rev, got null\n")); + ++errors; + } + vs = nvsvar; + if (vs != 0) + { + ACE_DEBUG ((LM_DEBUG, "Expected a null VarSeq rev, got non-null\n")); + ++errors; + } + + if (errors == 0) + ACE_DEBUG ((LM_DEBUG, "Success: all dereferences worked as expected\n")); + else + ACE_DEBUG ((LM_DEBUG, "Failure: %d dereferences didn't work\n", errors)); + + return errors; +} |