diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:11 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:11 +0000 |
commit | 6b846cf03c0bcbd8c276cb0af61a181e5f98eaae (patch) | |
tree | da50d054f9c761c3f6a5923f6979e93306c56d68 /TAO/tests/Param_Test/big_union.cpp | |
parent | 0e555b9150d38e3b3473ba325b56db2642e6352b (diff) | |
download | ATCD-6b846cf03c0bcbd8c276cb0af61a181e5f98eaae.tar.gz |
Repo restructuring
Diffstat (limited to 'TAO/tests/Param_Test/big_union.cpp')
-rw-r--r-- | TAO/tests/Param_Test/big_union.cpp | 553 |
1 files changed, 0 insertions, 553 deletions
diff --git a/TAO/tests/Param_Test/big_union.cpp b/TAO/tests/Param_Test/big_union.cpp deleted file mode 100644 index ee1737e545f..00000000000 --- a/TAO/tests/Param_Test/big_union.cpp +++ /dev/null @@ -1,553 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/tests/Param_Test -// -// = FILENAME -// big_union.cpp -// -// = DESCRIPTION -// tests Big_Unions -// -// = AUTHORS -// Aniruddha Gokhale -// -// ============================================================================ - -#include "helper.h" -#include "big_union.h" - -ACE_RCSID (Param_Test, - big_union, - "$Id$") - -// ************************************************************************ -// Test_Big_Union -// ************************************************************************ - -size_t Test_Big_Union::counter = 0; - -Test_Big_Union::Test_Big_Union (void) - : opname_ (CORBA::string_dup ("test_big_union")) -{ -} - -Test_Big_Union::~Test_Big_Union (void) -{ - CORBA::string_free (this->opname_); - this->opname_ = 0; -} - -const char * -Test_Big_Union::opname (void) const -{ - return this->opname_; -} - -void -Test_Big_Union::dii_req_invoke (CORBA::Request *req - ACE_ENV_ARG_DECL) -{ - req->add_in_arg ("s1") <<= this->in_; - req->add_inout_arg ("s2") <<= this->inout_; - req->add_out_arg ("s3") <<= this->out_.in (); - - req->set_return_type (Param_Test::_tc_Big_Union); - - req->invoke (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_CHECK; - - Param_Test::Big_Union *tmp; - req->return_value () >>= tmp; - this->ret_ = new Param_Test::Big_Union (*tmp); - - CORBA::NamedValue_ptr o2 = - req->arguments ()->item (1 ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - *o2->value () >>= tmp; - this->inout_ = *tmp; - - CORBA::NamedValue_ptr o3 = - req->arguments ()->item (2 ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - *o3->value () >>= tmp; - this->out_ = new Param_Test::Big_Union (*tmp); -} - -int -Test_Big_Union::init_parameters (Param_Test_ptr objref - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - // get access to a Coffee Object - this->cobj_ = objref->make_coffee (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - this->reset_parameters (); - return 0; - } - ACE_CATCH (CORBA::SystemException, sysex) - { - ACE_PRINT_EXCEPTION (sysex,"System Exception doing make_coffee"); - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "An exception caught in make_coffee"); - } - ACE_ENDTRY; - return -1; -} - -int -Test_Big_Union::reset_parameters (void) -{ - Generator *gen = GENERATOR::instance (); // value generator - CORBA::ULong index = (counter++ % Test_Big_Union::BIG_UNION_N_BRANCHES); - - switch (index) - { - case 0: - { - Param_Test::Fixed_Array x; - for (CORBA::ULong i = 0; i < Param_Test::DIM1; ++i) - { - x[i] = gen->gen_long (); - } - this->in_.the_array (x); - this->inout_.the_array (x); - } - break; - case 1: - { - this->in_.the_interface (this->cobj_.in ()); - this->inout_.the_interface (this->cobj_.in ()); - } - break; - case 2: - { - CORBA::Long x = gen->gen_long (); - this->in_.the_long (x); - this->inout_.the_long (x); - } - break; - case 3: - { - Param_Test::Big_Union::_another_array x; - for (int i = 0; i < 32; ++i) - { - x[i] = gen->gen_short (); - } - this->in_.another_array (x); - this->inout_.another_array (x); - } - break; - case 4: - { - CORBA::String_var str = gen->gen_string (); - this->in_.the_string (str); - this->inout_.the_string (str); - } - break; - case 5: - { - CORBA::ShortSeq seq; - seq.length (gen->gen_short () % 50); - for (size_t i = 0; i < seq.length (); i++) - seq[i] = gen->gen_short (); - this->in_.the_sequence (seq); - this->inout_.the_sequence (seq); - } - break; - case 6: - { - CORBA::Any any; - any <<= CORBA::Short (25); - this->in_.the_any (any); - this->inout_.the_any (any); - } - break; - case 7: - { - CORBA::Octet octet = gen->gen_short () % 255; - this->in_.the_octet (octet); - this->inout_.the_octet (octet); - } - break; - case 8: - { - CORBA::Char x = '@'; - this->in_.the_char (x); - this->inout_.the_char (x); - } - break; - case 9: - { - CORBA::Boolean x = gen->gen_short () % 2; - this->in_.the_boolean (x); - this->inout_.the_boolean (x); - } - break; - case 10: - { - Param_Test::Var_Struct var_struct; - var_struct.dbl = 3.14159; - var_struct.boole = gen->gen_short () % 2; - var_struct.shrt = gen->gen_short (); - // set the length of the sequence - var_struct.dummy1 = gen->gen_string (); - var_struct.dummy2 = gen->gen_string (); - CORBA::ULong len = gen->gen_long () % 10 + 1; - var_struct.seq.length (len); - for (CORBA::ULong i = 0; i != len; ++i) - { - var_struct.seq[i] = gen->gen_string (); - } - this->in_.the_var_struct (var_struct); - this->inout_.the_var_struct (var_struct); - } - break; - case 11: - { - Param_Test::Fixed_Struct fixed_struct; - fixed_struct.l = gen->gen_long (); - fixed_struct.c = gen->gen_long () % 255; - fixed_struct.s = gen->gen_long () % 32768; - fixed_struct.o = gen->gen_long () % 255; - fixed_struct.f = gen->gen_short () / 255.0f; - fixed_struct.b = gen->gen_long () % 2; - fixed_struct.d = gen->gen_short () / 255.0; - this->in_.the_fixed_struct (fixed_struct); - this->inout_.the_fixed_struct (fixed_struct); - } - break; - } - this->out_ = new Param_Test::Big_Union (this->in_); - this->ret_ = new Param_Test::Big_Union (this->in_); - return 0; -} - -int -Test_Big_Union::run_sii_test (Param_Test_ptr objref - ACE_ENV_ARG_DECL) -{ - ACE_TRY - { - this->ret_ = objref->test_big_union (this->in_, - this->inout_, - this->out_ - ACE_ENV_ARG_PARAMETER); - ACE_TRY_CHECK; - - return 0; - } - ACE_CATCHANY - { - ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, - "Test_Big_Union::run_sii_test\n"); - - } - ACE_ENDTRY; - return -1; -} - -CORBA::Boolean -Test_Big_Union::check_validity (void) -{ - if (this->in_._d () != this->inout_._d () - || this->in_._d () != this->out_->_d () - || this->in_._d () != this->ret_->_d ()) - { - ACE_DEBUG ((LM_DEBUG, "mismatch of discriminators\n")); - return 0; - } - - - switch (this->in_._d ()) - { - case 0: - { - Param_Test::Fixed_Array_slice* in_array = this->in_.the_array (); - Param_Test::Fixed_Array_slice* inout_array = this->inout_.the_array (); - Param_Test::Fixed_Array_slice* out_array = this->out_->the_array (); - Param_Test::Fixed_Array_slice* ret_array = this->ret_->the_array (); - for (CORBA::ULong i = 0; i < Param_Test::DIM1; ++i) - { - if (in_array[i] != inout_array[i] - || in_array[i] != out_array[i] - || in_array[i] != ret_array[i]) - { - ACE_DEBUG ((LM_DEBUG, - "mismatch of arrays\n")); - return 0; - } - } - } - break; - case 1: - { - ACE_DECLARE_NEW_CORBA_ENV; - ACE_TRY - { - Coffee_ptr in = this->in_.the_interface (); - Coffee_ptr inout = this->inout_.the_interface (); - Coffee_ptr out = this->out_->the_interface (); - Coffee_ptr ret = this->ret_->the_interface (); - - if (CORBA::is_nil (in) - || CORBA::is_nil (inout) - || CORBA::is_nil (out) - || CORBA::is_nil (ret)) - return 0; - - Coffee::Desc_var in_desc = - in->description (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - Coffee::Desc_var inout_desc = - inout->description (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - Coffee::Desc_var out_desc = - out->description (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - Coffee::Desc_var ret_desc = - ret->description (ACE_ENV_SINGLE_ARG_PARAMETER); - ACE_TRY_CHECK; - - if (ACE_OS::strcmp (in_desc->name.in (), - inout_desc->name.in ()) - || ACE_OS::strcmp (in_desc->name.in (), - out_desc->name.in ()) - || ACE_OS::strcmp (in_desc->name.in (), - ret_desc->name.in ())) - return 0; - } - ACE_CATCHANY - { - return 0; - } - ACE_ENDTRY; - } - break; - case 2: - { - CORBA::Long in = this->in_.the_long (); - CORBA::Long inout = this->inout_.the_long (); - CORBA::Long out = this->out_->the_long (); - CORBA::Long ret = this->ret_->the_long (); - if (in != out || in != inout || in != ret) - return 0; - } - break; - - case 3: - { - Param_Test::Big_Union::_another_array_slice* in_array = - this->in_.another_array (); - Param_Test::Big_Union::_another_array_slice* inout_array = - this->inout_.another_array (); - Param_Test::Big_Union::_another_array_slice* out_array = - this->out_->another_array (); - Param_Test::Big_Union::_another_array_slice* ret_array = - this->ret_->another_array (); - for (int i = 0; i != 32; ++i) - { - if (in_array[i] != inout_array[i] - || in_array[i] != out_array[i] - || in_array[i] != ret_array[i]) - return 0; - } - } - break; - - case 4: - { - const char* in = this->in_.the_string (); - const char* inout = this->inout_.the_string (); - const char* out = this->out_->the_string (); - const char* ret = this->ret_->the_string (); - if (ACE_OS::strcmp (in,out) - || ACE_OS::strcmp (in,inout) - || ACE_OS::strcmp (in,ret)) - return 0; - } - break; - - case 5: - { - const CORBA::ShortSeq& in = - this->in_.the_sequence (); - const CORBA::ShortSeq& inout = - this->inout_.the_sequence (); - const CORBA::ShortSeq& out = - this->out_->the_sequence (); - const CORBA::ShortSeq& ret = - this->ret_->the_sequence (); - - if (in.length () != out.length () - || in.length () != inout.length () - || in.length () != ret.length ()) - return 0; - - for (CORBA::ULong i = 0; i != in.length (); ++i) - { - if (in[i] != out[i] - || in[i] != inout[i] - || in[i] != ret[i]) - return 0; - } - } - break; - - case 6: - { - CORBA::Any in = this->in_.the_any (); - CORBA::Any inout = this->inout_.the_any (); - CORBA::Any out = this->out_->the_any (); - CORBA::Any ret = this->ret_->the_any (); - - CORBA::Short in_short; - CORBA::Short inout_short; - CORBA::Short out_short; - CORBA::Short ret_short; - if (!(in >>= in_short) - || !(inout >>= inout_short) - || !(out >>= out_short) - || !(ret >>= ret_short)) - return 0; - - if (in_short != inout_short - || in_short != out_short - || in_short != ret_short) - return 0; - } - break; - - case 7: - { - CORBA::Octet in = this->in_.the_octet (); - CORBA::Octet inout = this->inout_.the_octet (); - CORBA::Octet out = this->out_->the_octet (); - CORBA::Octet ret = this->ret_->the_octet (); - if (in != out || in != inout || in != ret) - return 0; - } - break; - - case 8: - { - CORBA::Char in = this->in_.the_char (); - CORBA::Char inout = this->inout_.the_char (); - CORBA::Char out = this->out_->the_char (); - CORBA::Char ret = this->ret_->the_char (); - if (in != out || in != inout || in != ret) - return 0; - } - break; - - case 9: - { - CORBA::Boolean in = this->in_.the_boolean (); - CORBA::Boolean inout = this->inout_.the_boolean (); - CORBA::Boolean out = this->out_->the_boolean (); - CORBA::Boolean ret = this->ret_->the_boolean (); - if (in != out || in != inout || in != ret) - return 0; - } - break; - - case 10: - { - const Param_Test::Var_Struct& in = - this->in_.the_var_struct (); - const Param_Test::Var_Struct& inout = - this->inout_.the_var_struct (); - const Param_Test::Var_Struct& out = - this->out_->the_var_struct (); - const Param_Test::Var_Struct& ret = - this->ret_->the_var_struct (); - - if (!(ACE_OS::strcmp (in.dummy1.in (), - inout.dummy1.in ()) == 0 - && ACE_OS::strcmp (in.dummy2.in (), - inout.dummy2.in ()) == 0) - || !(ACE_OS::strcmp (in.dummy1.in (), - out.dummy1.in ()) == 0 - && ACE_OS::strcmp (in.dummy2.in (), - out.dummy2.in ()) == 0) - || !(ACE_OS::strcmp (in.dummy1.in (), - ret.dummy1.in ()) == 0 - && ACE_OS::strcmp (in.dummy2.in (), - ret.dummy2.in ()) == 0)) - return 0; - - if (in.seq.length () != inout.seq.length () - || in.seq.length () != out.seq.length () - || in.seq.length () != ret.seq.length ()) - return 0; - - CORBA::ULong len = in.seq.length (); - for (CORBA::ULong i = 0; i != len; ++i) - { - if (ACE_OS::strcmp (in.seq[i], - inout.seq[i]) - || ACE_OS::strcmp (in.seq[i], - out.seq[i]) - || ACE_OS::strcmp (in.seq[i], - ret.seq[i])) - return 0; - } - } - break; - case 11: - { - const Param_Test::Fixed_Struct& in = - this->in_.the_fixed_struct (); - const Param_Test::Fixed_Struct& inout = - this->inout_.the_fixed_struct (); - const Param_Test::Fixed_Struct& out = - this->out_->the_fixed_struct (); - const Param_Test::Fixed_Struct& ret = - this->ret_->the_fixed_struct (); - - if (! (in.l == inout.l - && in.c == inout.c - && in.s == inout.s - && in.o == inout.o - && in.f == inout.f - && in.b == inout.b - && in.d == inout.d) - || !(in.l == out.l - && in.c == out.c - && in.s == out.s - && in.o == out.o - && in.f == out.f - && in.b == out.b - && in.d == out.d) - || !(in.l == ret.l - && in.c == ret.c - && in.s == ret.s - && in.o == ret.o - && in.f == ret.f - && in.b == ret.b - && in.d == ret.d)) - return 0; - } - break; - } - - return 1; -} - -CORBA::Boolean -Test_Big_Union::check_validity (CORBA::Request_ptr /*req*/) -{ - //ACE_UNUSED_ARG (req); - return this->check_validity (); -} - -void -Test_Big_Union::print_values (void) -{ -} |