[OSADL-svn-commits] r82 - fapia-trunk/FAPIAController/test/conversions/source
OSADL repository commits
osadl-svn-commits at lists.osadl.org
Tue Oct 2 11:46:32 CEST 2007
Author: tb10rts
Date: Thu Jul 19 07:12:01 2007
New Revision: 82
Log:
Added a folder remotely
Added:
fapia-trunk/FAPIAController/test/conversions/source/
fapia-trunk/FAPIAController/test/conversions/source/main.cpp
fapia-trunk/FAPIAController/test/conversions/source/test_fapia_controller_conversions.cpp
fapia-trunk/FAPIAController/test/conversions/source/test_fapia_controller_conversions.h
Added: fapia-trunk/FAPIAController/test/conversions/source/main.cpp
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAController/test/conversions/source/main.cpp Thu Jul 19 07:12:01 2007
@@ -0,0 +1,19 @@
+
+#include <stdio.h>
+#include <assert.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/TestResult.h>
+#include <cppunit/TestResultCollector.h>
+#include <cppunit/ui/text/TestRunner.h>
+
+#include /**/ <ace/ace.h>
+
+
+int main( int argc, char **argv)
+{
+ CppUnit::TextUi::TestRunner runner;
+ CppUnit::TestFactoryRegistry ®istry = CppUnit::TestFactoryRegistry::getRegistry();
+ runner.addTest( registry.makeTest() );
+ bool wasSuccessful = runner.run( "", false);
+ return wasSuccessful;
+}
Added: fapia-trunk/FAPIAController/test/conversions/source/test_fapia_controller_conversions.cpp
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAController/test/conversions/source/test_fapia_controller_conversions.cpp Thu Jul 19 07:12:01 2007
@@ -0,0 +1,495 @@
+// $Id$
+
+
+#include "test_fapia_controller_conversions.h"
+#include "../../../source/FAPIAControllerController.h"
+#include "../../../../FAPIAIPCSynchronize/interface/FAPIAIPCSynchronize.h"
+
+namespace FAPI
+ {
+ namespace Acyclic
+ {
+ namespace Controller
+ {
+ namespace Test
+ {
+
+ CPPUNIT_TEST_SUITE_REGISTRATION (ConversionsTest);
+
+/*---------------------------------------------------------------------------*/
+
+ ConversionsTest::ConversionsTest()
+ {
+ }
+
+/*---------------------------------------------------------------------------*/
+
+ void ConversionsTest::setUp()
+ {
+ }
+
+/*---------------------------------------------------------------------------*/
+
+ void ConversionsTest::tearDown()
+ {
+ }
+
+/*---------------------------------------------------------------------------*/
+
+ void ConversionsTest::test_method_request_conversions (void)
+ {
+ FAPI::Acyclic::IPC::Synchronize::Init init;
+ {
+ // Initialize controller. *****************************
+ FAPI::Acyclic::Controller::Controller controller;
+
+ FAPI::Acyclic::IPC::Synchronize::Error error;
+ FAPI::Acyclic::IPC::Synchronize::Synchronize* synchronize = 0;
+ ACE_NEW_NORETURN (synchronize, FAPI::Acyclic::IPC::Synchronize::Synchronize ());
+ CPPUNIT_ASSERT (synchronize != 0);
+
+ init.physical_object_address_ = "127.0.0.0";
+ init.physical_object_name_ = "source_physical_object_name";
+ init.fapia_shared_memory_name_ = "0123";
+ int rc = synchronize->init (init, error);
+ CPPUNIT_ASSERT (rc == 0);
+ controller.ipc_synchronize_ = synchronize;
+
+ FAPI::Acyclic::IPC::Parameter::MethodRequestReadRequest mr_read_request;
+ FAPI::Acyclic::IPC::Parameter::MethodRequestReadResponse mr_read_response;
+ FAPI::Acyclic::IPC::Parameter::MethodRequestWriteRequest mr_write_request;
+ FAPI::Acyclic::IPC::Parameter::MethodRequestWriteResponse mr_write_response;
+ FAPIACommunication fapia_communication;
+ FAPIAParameter fapia_parameters[3];
+ FAPIAValue fapia_values[3];
+ FAPIAError fapia_errors[3];
+
+
+
+ // Initialize for test 1 and 2. ***********************
+ fapia_communication.communication_error.error_code = FAPIA_ERROR_COMMUNICATION;
+ fapia_communication.communication_error.reason = "reason";
+ fapia_communication.transaction_id = 4711;
+ fapia_communication.source_physical_object_name = "source_physical_object_name";
+ fapia_communication.priority = FAPIA_COMMUNICATION_PRIORITY_LOW;
+ fapia_communication.send_reply = true;
+ fapia_communication.number_of_entries = sizeof (fapia_parameters) / sizeof (FAPIAParameter);
+
+ fapia_parameters[0].logical_object_name = "logical_object_name0";
+ fapia_parameters[1].logical_object_name = "logical_object_name1";
+ fapia_parameters[2].logical_object_name = "logical_object_name2";
+ fapia_parameters[0].parameter_name = "parameter_name0";
+ fapia_parameters[1].parameter_name = "parameter_name1";
+ fapia_parameters[2].parameter_name = "parameter_name2";
+
+
+
+ // Conversion test 1. *********************************
+ rc = controller.convert_to_read_request (
+ &mr_read_request,
+ &fapia_communication,
+ fapia_parameters);
+
+ CPPUNIT_ASSERT (rc == 0);
+ CPPUNIT_ASSERT (mr_read_request.destination_physical_object_address_ == "127.0.0.0");
+ CPPUNIT_ASSERT (mr_read_request.communication_.communication_error_.error_code_ == FAPIA_ERROR_COMMUNICATION);
+ CPPUNIT_ASSERT (mr_read_request.communication_.communication_error_.reason_ == "reason");
+ CPPUNIT_ASSERT (mr_read_request.communication_.transaction_id_ == 4711);
+ CPPUNIT_ASSERT (mr_read_request.communication_.source_physical_object_name_ == "source_physical_object_name");
+ CPPUNIT_ASSERT (mr_read_request.communication_.send_reply_ == true);
+ CPPUNIT_ASSERT (mr_read_request.parameters_.size () == 3);
+ CPPUNIT_ASSERT (mr_read_request.parameters_[0].logical_object_name_ == "logical_object_name0");
+ CPPUNIT_ASSERT (mr_read_request.parameters_[1].logical_object_name_ == "logical_object_name1");
+ CPPUNIT_ASSERT (mr_read_request.parameters_[2].logical_object_name_ == "logical_object_name2");
+ CPPUNIT_ASSERT (mr_read_request.parameters_[0].parameter_name_ == "parameter_name0");
+ CPPUNIT_ASSERT (mr_read_request.parameters_[1].parameter_name_ == "parameter_name1");
+ CPPUNIT_ASSERT (mr_read_request.parameters_[2].parameter_name_ == "parameter_name2");
+
+
+
+ // Conversion test 2. *********************************
+ rc = controller.convert_from_read_request (
+ &fapia_communication,
+ fapia_parameters,
+ &mr_read_request);
+
+ CPPUNIT_ASSERT (rc == 0);
+ CPPUNIT_ASSERT (fapia_communication.communication_error.error_code == FAPIA_ERROR_COMMUNICATION);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_communication.communication_error.reason, "reason") == 0);
+ CPPUNIT_ASSERT (fapia_communication.transaction_id == 4711);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_communication.source_physical_object_name, "source_physical_object_name") == 0);
+ CPPUNIT_ASSERT (fapia_communication.priority == FAPIA_COMMUNICATION_PRIORITY_LOW);
+ CPPUNIT_ASSERT (fapia_communication.send_reply != 0);
+ CPPUNIT_ASSERT (fapia_communication.number_of_entries == 3);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[0].logical_object_name, "logical_object_name0") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[1].logical_object_name, "logical_object_name1") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[2].logical_object_name, "logical_object_name2") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[0].parameter_name , "parameter_name0") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[1].parameter_name , "parameter_name1") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[2].parameter_name , "parameter_name2") == 0);
+
+ controller.free_memory (fapia_parameters, fapia_communication.number_of_entries);
+ controller.free_memory (&fapia_communication);
+
+
+
+ // Initialize for test 3 and 4. ***********************
+ fapia_communication.communication_error.error_code = FAPIA_ERROR_COMMUNICATION;
+ fapia_communication.communication_error.reason = "reason";
+ fapia_communication.transaction_id = 4711;
+ fapia_communication.source_physical_object_name = "source_physical_object_name";
+ fapia_communication.priority = FAPIA_COMMUNICATION_PRIORITY_LOW;
+ fapia_communication.send_reply = true;
+ fapia_communication.number_of_entries = sizeof (fapia_parameters) / sizeof (FAPIAParameter);
+
+ fapia_parameters[0].logical_object_name = "logical_object_name0";
+ fapia_parameters[1].logical_object_name = "logical_object_name1";
+ fapia_parameters[2].logical_object_name = "logical_object_name2";
+ fapia_parameters[0].parameter_name = "parameter_name0";
+ fapia_parameters[1].parameter_name = "parameter_name1";
+ fapia_parameters[2].parameter_name = "parameter_name2";
+
+ unsigned short us = 29;
+ double d = 1.234;
+ char * s = "test string";
+
+ fapia_values[0].data_type = FAPIA_DATA_TYPE_SHORT;
+ fapia_values[0].data_length = sizeof (unsigned short);
+ fapia_values[0].data_value = &us;
+ fapia_values[0].unit = "msec";
+
+ fapia_values[1].data_type = FAPIA_DATA_TYPE_DOUBLE;
+ fapia_values[1].data_length = sizeof (double);
+ fapia_values[1].data_value = &d;
+ fapia_values[1].unit = "kB";
+
+ fapia_values[2].data_type = FAPIA_DATA_TYPE_STRING;
+ fapia_values[2].data_length = ACE_OS::strlen (s);
+ fapia_values[2].data_value = s;
+ fapia_values[2].unit = "";
+
+ fapia_errors[0].error_code = FAPIA_ERROR_PARAMETER_NOT_FOUND;
+ fapia_errors[0].reason = "The parameter parameter_name0 could not be found";
+
+ fapia_errors[1].error_code = FAPIA_ERROR_OK;
+ fapia_errors[1].reason = "";
+
+ fapia_errors[2].error_code = FAPIA_ERROR_OK;
+ fapia_errors[2].reason = "";
+
+
+
+ // Conversion test 3. *********************************
+ rc = controller.convert_to_read_response (
+ &mr_read_response,
+ &fapia_communication,
+ fapia_parameters,
+ fapia_values,
+ fapia_errors);
+
+ CPPUNIT_ASSERT (rc == 0);
+ CPPUNIT_ASSERT (mr_read_response.destination_physical_object_address_ == "127.0.0.0");
+ CPPUNIT_ASSERT (mr_read_response.communication_.communication_error_.error_code_ == FAPIA_ERROR_COMMUNICATION);
+ CPPUNIT_ASSERT (mr_read_response.communication_.communication_error_.reason_ == "reason");
+ CPPUNIT_ASSERT (mr_read_response.communication_.transaction_id_ == 4711);
+ CPPUNIT_ASSERT (mr_read_response.communication_.source_physical_object_name_ == "source_physical_object_name");
+ CPPUNIT_ASSERT (mr_read_response.communication_.send_reply_ == true);
+ CPPUNIT_ASSERT (mr_read_response.parameters_.size () == 3);
+ CPPUNIT_ASSERT (mr_read_response.parameters_[0].logical_object_name_ == "logical_object_name0");
+ CPPUNIT_ASSERT (mr_read_response.parameters_[1].logical_object_name_ == "logical_object_name1");
+ CPPUNIT_ASSERT (mr_read_response.parameters_[2].logical_object_name_ == "logical_object_name2");
+ CPPUNIT_ASSERT (mr_read_response.parameters_[0].parameter_name_ == "parameter_name0");
+ CPPUNIT_ASSERT (mr_read_response.parameters_[1].parameter_name_ == "parameter_name1");
+ CPPUNIT_ASSERT (mr_read_response.parameters_[2].parameter_name_ == "parameter_name2");
+ CPPUNIT_ASSERT (mr_read_response.values_.size () == 3);
+ CPPUNIT_ASSERT (mr_read_response.values_[0].data_type_ == FAPIA_DATA_TYPE_SHORT);
+ CPPUNIT_ASSERT (mr_read_response.values_[0].data_len ()== sizeof (unsigned short));
+ CPPUNIT_ASSERT (ACE_OS::memcmp (mr_read_response.values_[0].data_value (), &us, mr_read_response.values_[0].data_len ()) == 0);
+ CPPUNIT_ASSERT (mr_read_response.values_[0].unit_ == "msec");
+ CPPUNIT_ASSERT (mr_read_response.values_[1].data_type_ == FAPIA_DATA_TYPE_DOUBLE);
+ CPPUNIT_ASSERT (mr_read_response.values_[1].data_len ()== sizeof (double));
+ CPPUNIT_ASSERT (ACE_OS::memcmp (mr_read_response.values_[1].data_value (), &d, mr_read_response.values_[1].data_len ()) == 0);
+ CPPUNIT_ASSERT (mr_read_response.values_[1].unit_ == "kB");
+ CPPUNIT_ASSERT (mr_read_response.values_[2].data_type_ == FAPIA_DATA_TYPE_STRING);
+ CPPUNIT_ASSERT (mr_read_response.values_[2].data_len ()== ACE_OS::strlen (s));
+ CPPUNIT_ASSERT (ACE_OS::memcmp (mr_read_response.values_[2].data_value (), s, mr_read_response.values_[2].data_len ()) == 0);
+ CPPUNIT_ASSERT (mr_read_response.values_[2].unit_ == "");
+ CPPUNIT_ASSERT (mr_read_response.errors_.size () == 3);
+ CPPUNIT_ASSERT (mr_read_response.errors_[0].error_code_ == FAPIA_ERROR_PARAMETER_NOT_FOUND);
+ CPPUNIT_ASSERT (mr_read_response.errors_[0].reason_ == "The parameter parameter_name0 could not be found");
+ CPPUNIT_ASSERT (mr_read_response.errors_[1].error_code_ == FAPIA_ERROR_OK);
+ CPPUNIT_ASSERT (mr_read_response.errors_[1].reason_ == "");
+ CPPUNIT_ASSERT (mr_read_response.errors_[2].error_code_ == FAPIA_ERROR_OK);
+ CPPUNIT_ASSERT (mr_read_response.errors_[2].reason_ == "");
+
+
+
+
+
+ // Conversion test 4. *********************************
+ rc = controller.convert_from_read_response (
+ &fapia_communication,
+ fapia_parameters,
+ fapia_values,
+ fapia_errors,
+ &mr_read_response);
+
+ CPPUNIT_ASSERT (rc == 0);
+ CPPUNIT_ASSERT (fapia_communication.communication_error.error_code == FAPIA_ERROR_COMMUNICATION);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_communication.communication_error.reason, "reason") == 0);
+ CPPUNIT_ASSERT (fapia_communication.transaction_id == 4711);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_communication.source_physical_object_name, "source_physical_object_name") == 0);
+ CPPUNIT_ASSERT (fapia_communication.priority == FAPIA_COMMUNICATION_PRIORITY_LOW);
+ CPPUNIT_ASSERT (fapia_communication.send_reply != 0);
+ CPPUNIT_ASSERT (fapia_communication.number_of_entries == 3);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[0].logical_object_name, "logical_object_name0") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[1].logical_object_name, "logical_object_name1") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[2].logical_object_name, "logical_object_name2") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[0].parameter_name , "parameter_name0") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[1].parameter_name , "parameter_name1") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[2].parameter_name , "parameter_name2") == 0);
+ CPPUNIT_ASSERT (fapia_values[0].data_type == FAPIA_DATA_TYPE_SHORT);
+ CPPUNIT_ASSERT (fapia_values[0].data_length == sizeof (unsigned short));
+ CPPUNIT_ASSERT (ACE_OS::memcmp (fapia_values[0].data_value, &us, sizeof (unsigned short)) == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp (fapia_values[0].unit, "msec") == 0);
+ CPPUNIT_ASSERT (fapia_values[1].data_type == FAPIA_DATA_TYPE_DOUBLE);
+ CPPUNIT_ASSERT (fapia_values[1].data_length == sizeof (double));
+ CPPUNIT_ASSERT (ACE_OS::memcmp (fapia_values[1].data_value, &d, sizeof (double)) == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp (fapia_values[1].unit, "kB") == 0);
+ CPPUNIT_ASSERT (fapia_values[2].data_type == FAPIA_DATA_TYPE_STRING);
+ CPPUNIT_ASSERT (fapia_values[2].data_length == ACE_OS::strlen (s));
+ CPPUNIT_ASSERT (ACE_OS::strcmp ((char *)fapia_values[2].data_value, s) == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp (fapia_values[2].unit, "") == 0);
+ CPPUNIT_ASSERT (fapia_errors[0].error_code == FAPIA_ERROR_PARAMETER_NOT_FOUND);
+ CPPUNIT_ASSERT (ACE_OS::strcmp (fapia_errors[0].reason , "The parameter parameter_name0 could not be found") == 0);
+ CPPUNIT_ASSERT (fapia_errors[1].error_code == FAPIA_ERROR_OK);
+ CPPUNIT_ASSERT (ACE_OS::strcmp (fapia_errors[1].reason , "") == 0);
+ CPPUNIT_ASSERT (fapia_errors[2].error_code == FAPIA_ERROR_OK);
+ CPPUNIT_ASSERT (ACE_OS::strcmp (fapia_errors[2].reason , "") == 0);
+
+
+ controller.free_memory (fapia_errors, fapia_communication.number_of_entries);
+ controller.free_memory (fapia_values, fapia_communication.number_of_entries);
+ controller.free_memory (fapia_parameters, fapia_communication.number_of_entries);
+ controller.free_memory (&fapia_communication);
+
+
+
+
+ // Initialize for test 5 and 6. ***********************
+ fapia_communication.communication_error.error_code = FAPIA_ERROR_COMMUNICATION;
+ fapia_communication.communication_error.reason = "reason";
+ fapia_communication.transaction_id = 4711;
+ fapia_communication.source_physical_object_name = "source_physical_object_name";
+ fapia_communication.priority = FAPIA_COMMUNICATION_PRIORITY_LOW;
+ fapia_communication.send_reply = true;
+ fapia_communication.number_of_entries = sizeof (fapia_parameters) / sizeof (FAPIAParameter);
+
+ fapia_parameters[0].logical_object_name = "logical_object_name0";
+ fapia_parameters[1].logical_object_name = "logical_object_name1";
+ fapia_parameters[2].logical_object_name = "logical_object_name2";
+ fapia_parameters[0].parameter_name = "parameter_name0";
+ fapia_parameters[1].parameter_name = "parameter_name1";
+ fapia_parameters[2].parameter_name = "parameter_name2";
+
+ fapia_values[0].data_type = FAPIA_DATA_TYPE_SHORT;
+ fapia_values[0].data_length = sizeof (unsigned short);
+ fapia_values[0].data_value = &us;
+ fapia_values[0].unit = "msec";
+
+ fapia_values[1].data_type = FAPIA_DATA_TYPE_DOUBLE;
+ fapia_values[1].data_length = sizeof (double);
+ fapia_values[1].data_value = &d;
+ fapia_values[1].unit = "kB";
+
+ fapia_values[2].data_type = FAPIA_DATA_TYPE_STRING;
+ fapia_values[2].data_length = ACE_OS::strlen (s);
+ fapia_values[2].data_value = s;
+ fapia_values[2].unit = "";
+
+
+
+ // Conversion test 5. *********************************
+ rc = controller.convert_to_write_request (
+ &mr_write_request,
+ &fapia_communication,
+ fapia_parameters,
+ fapia_values);
+
+ CPPUNIT_ASSERT (rc == 0);
+ CPPUNIT_ASSERT (mr_write_request.destination_physical_object_address_ == "127.0.0.0");
+ CPPUNIT_ASSERT (mr_write_request.communication_.communication_error_.error_code_ == FAPIA_ERROR_COMMUNICATION);
+ CPPUNIT_ASSERT (mr_write_request.communication_.communication_error_.reason_ == "reason");
+ CPPUNIT_ASSERT (mr_write_request.communication_.transaction_id_ == 4711);
+ CPPUNIT_ASSERT (mr_write_request.communication_.source_physical_object_name_ == "source_physical_object_name");
+ CPPUNIT_ASSERT (mr_write_request.communication_.send_reply_ == true);
+ CPPUNIT_ASSERT (mr_write_request.parameters_.size () == 3);
+ CPPUNIT_ASSERT (mr_write_request.parameters_[0].logical_object_name_ == "logical_object_name0");
+ CPPUNIT_ASSERT (mr_write_request.parameters_[1].logical_object_name_ == "logical_object_name1");
+ CPPUNIT_ASSERT (mr_write_request.parameters_[2].logical_object_name_ == "logical_object_name2");
+ CPPUNIT_ASSERT (mr_write_request.parameters_[0].parameter_name_ == "parameter_name0");
+ CPPUNIT_ASSERT (mr_write_request.parameters_[1].parameter_name_ == "parameter_name1");
+ CPPUNIT_ASSERT (mr_write_request.parameters_[2].parameter_name_ == "parameter_name2");
+ CPPUNIT_ASSERT (mr_write_request.values_[0].data_type_ == FAPIA_DATA_TYPE_SHORT);
+ CPPUNIT_ASSERT (mr_write_request.values_[0].data_len ()== sizeof (unsigned short));
+ CPPUNIT_ASSERT (ACE_OS::memcmp (mr_write_request.values_[0].data_value (), &us, mr_write_request.values_[0].data_len ()) == 0);
+ CPPUNIT_ASSERT (mr_write_request.values_[0].unit_ == "msec");
+ CPPUNIT_ASSERT (mr_write_request.values_[1].data_type_ == FAPIA_DATA_TYPE_DOUBLE);
+ CPPUNIT_ASSERT (mr_write_request.values_[1].data_len ()== sizeof (double));
+ CPPUNIT_ASSERT (ACE_OS::memcmp (mr_write_request.values_[1].data_value (), &d, mr_write_request.values_[1].data_len ()) == 0);
+ CPPUNIT_ASSERT (mr_write_request.values_[1].unit_ == "kB");
+ CPPUNIT_ASSERT (mr_write_request.values_[2].data_type_ == FAPIA_DATA_TYPE_STRING);
+ CPPUNIT_ASSERT (mr_write_request.values_[2].data_len ()== ACE_OS::strlen (s));
+ CPPUNIT_ASSERT (ACE_OS::memcmp (mr_write_request.values_[2].data_value (), s, mr_write_request.values_[2].data_len ()) == 0);
+ CPPUNIT_ASSERT (mr_write_request.values_[2].unit_ == "");
+
+
+
+
+
+ // Conversion test 6. *********************************
+ rc = controller.convert_from_write_request (
+ &fapia_communication,
+ fapia_parameters,
+ fapia_values,
+ &mr_write_request);
+
+ CPPUNIT_ASSERT (rc == 0);
+ CPPUNIT_ASSERT (fapia_communication.communication_error.error_code == FAPIA_ERROR_COMMUNICATION);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_communication.communication_error.reason, "reason") == 0);
+ CPPUNIT_ASSERT (fapia_communication.transaction_id == 4711);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_communication.source_physical_object_name, "source_physical_object_name") == 0);
+ CPPUNIT_ASSERT (fapia_communication.priority == FAPIA_COMMUNICATION_PRIORITY_LOW);
+ CPPUNIT_ASSERT (fapia_communication.send_reply != 0);
+ CPPUNIT_ASSERT (fapia_communication.number_of_entries == 3);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[0].logical_object_name, "logical_object_name0") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[1].logical_object_name, "logical_object_name1") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[2].logical_object_name, "logical_object_name2") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[0].parameter_name , "parameter_name0") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[1].parameter_name , "parameter_name1") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[2].parameter_name , "parameter_name2") == 0);
+ CPPUNIT_ASSERT (fapia_values[0].data_type == FAPIA_DATA_TYPE_SHORT);
+ CPPUNIT_ASSERT (fapia_values[0].data_length == sizeof (unsigned short));
+ CPPUNIT_ASSERT (ACE_OS::memcmp (fapia_values[0].data_value, &us, sizeof (unsigned short)) == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp (fapia_values[0].unit, "msec") == 0);
+ CPPUNIT_ASSERT (fapia_values[1].data_type == FAPIA_DATA_TYPE_DOUBLE);
+ CPPUNIT_ASSERT (fapia_values[1].data_length == sizeof (double));
+ CPPUNIT_ASSERT (ACE_OS::memcmp (fapia_values[1].data_value, &d, sizeof (double)) == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp (fapia_values[1].unit, "kB") == 0);
+ CPPUNIT_ASSERT (fapia_values[2].data_type == FAPIA_DATA_TYPE_STRING);
+ CPPUNIT_ASSERT (fapia_values[2].data_length == ACE_OS::strlen (s));
+ CPPUNIT_ASSERT (ACE_OS::strcmp ((char *)fapia_values[2].data_value, s) == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp (fapia_values[2].unit, "") == 0);
+
+ controller.free_memory (fapia_values, fapia_communication.number_of_entries);
+ controller.free_memory (fapia_parameters, fapia_communication.number_of_entries);
+ controller.free_memory (&fapia_communication);
+
+
+
+ // Initialize for test 7 and 8. ***********************
+ fapia_communication.communication_error.error_code = FAPIA_ERROR_COMMUNICATION;
+ fapia_communication.communication_error.reason = "reason";
+ fapia_communication.transaction_id = 4711;
+ fapia_communication.source_physical_object_name = "source_physical_object_name";
+ fapia_communication.priority = FAPIA_COMMUNICATION_PRIORITY_LOW;
+ fapia_communication.send_reply = true;
+ fapia_communication.number_of_entries = sizeof (fapia_parameters) / sizeof (FAPIAParameter);
+
+ fapia_parameters[0].logical_object_name = "logical_object_name0";
+ fapia_parameters[1].logical_object_name = "logical_object_name1";
+ fapia_parameters[2].logical_object_name = "logical_object_name2";
+ fapia_parameters[0].parameter_name = "parameter_name0";
+ fapia_parameters[1].parameter_name = "parameter_name1";
+ fapia_parameters[2].parameter_name = "parameter_name2";
+
+ fapia_errors[0].error_code = FAPIA_ERROR_PARAMETER_NOT_FOUND;
+ fapia_errors[0].reason = "The parameter parameter_name0 could not be found";
+
+ fapia_errors[1].error_code = FAPIA_ERROR_OK;
+ fapia_errors[1].reason = "";
+
+ fapia_errors[2].error_code = FAPIA_ERROR_OK;
+ fapia_errors[2].reason = "";
+
+
+
+ // Conversion test 7. *********************************
+ rc = controller.convert_to_write_response (
+ &mr_write_response,
+ &fapia_communication,
+ fapia_parameters,
+ fapia_errors);
+
+ CPPUNIT_ASSERT (rc == 0);
+ CPPUNIT_ASSERT (mr_write_response.destination_physical_object_address_ == "127.0.0.0");
+ CPPUNIT_ASSERT (mr_write_response.communication_.communication_error_.error_code_ == FAPIA_ERROR_COMMUNICATION);
+ CPPUNIT_ASSERT (mr_write_response.communication_.communication_error_.reason_ == "reason");
+ CPPUNIT_ASSERT (mr_write_response.communication_.transaction_id_ == 4711);
+ CPPUNIT_ASSERT (mr_write_response.communication_.source_physical_object_name_ == "source_physical_object_name");
+ CPPUNIT_ASSERT (mr_write_response.communication_.send_reply_ == true);
+ CPPUNIT_ASSERT (mr_write_response.parameters_.size () == 3);
+ CPPUNIT_ASSERT (mr_write_response.parameters_[0].logical_object_name_ == "logical_object_name0");
+ CPPUNIT_ASSERT (mr_write_response.parameters_[1].logical_object_name_ == "logical_object_name1");
+ CPPUNIT_ASSERT (mr_write_response.parameters_[2].logical_object_name_ == "logical_object_name2");
+ CPPUNIT_ASSERT (mr_write_response.parameters_[0].parameter_name_ == "parameter_name0");
+ CPPUNIT_ASSERT (mr_write_response.parameters_[1].parameter_name_ == "parameter_name1");
+ CPPUNIT_ASSERT (mr_write_response.parameters_[2].parameter_name_ == "parameter_name2");
+ CPPUNIT_ASSERT (mr_write_response.errors_.size () == 3);
+ CPPUNIT_ASSERT (mr_write_response.errors_[0].error_code_ == FAPIA_ERROR_PARAMETER_NOT_FOUND);
+ CPPUNIT_ASSERT (mr_write_response.errors_[0].reason_ == "The parameter parameter_name0 could not be found");
+ CPPUNIT_ASSERT (mr_write_response.errors_[1].error_code_ == FAPIA_ERROR_OK);
+ CPPUNIT_ASSERT (mr_write_response.errors_[1].reason_ == "");
+ CPPUNIT_ASSERT (mr_write_response.errors_[2].error_code_ == FAPIA_ERROR_OK);
+ CPPUNIT_ASSERT (mr_write_response.errors_[2].reason_ == "");
+
+
+
+
+
+ // Conversion test 8. *********************************
+ rc = controller.convert_from_write_response (
+ &fapia_communication,
+ fapia_parameters,
+ fapia_errors,
+ &mr_write_response);
+
+ CPPUNIT_ASSERT (rc == 0);
+ CPPUNIT_ASSERT (fapia_communication.communication_error.error_code == FAPIA_ERROR_COMMUNICATION);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_communication.communication_error.reason, "reason") == 0);
+ CPPUNIT_ASSERT (fapia_communication.transaction_id == 4711);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_communication.source_physical_object_name, "source_physical_object_name") == 0);
+ CPPUNIT_ASSERT (fapia_communication.priority == FAPIA_COMMUNICATION_PRIORITY_LOW);
+ CPPUNIT_ASSERT (fapia_communication.send_reply != 0);
+ CPPUNIT_ASSERT (fapia_communication.number_of_entries == 3);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[0].logical_object_name, "logical_object_name0") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[1].logical_object_name, "logical_object_name1") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[2].logical_object_name, "logical_object_name2") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[0].parameter_name , "parameter_name0") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[1].parameter_name , "parameter_name1") == 0);
+ CPPUNIT_ASSERT (ACE_OS::strcmp(fapia_parameters[2].parameter_name , "parameter_name2") == 0);
+ CPPUNIT_ASSERT (fapia_errors[0].error_code == FAPIA_ERROR_PARAMETER_NOT_FOUND);
+ CPPUNIT_ASSERT (ACE_OS::strcmp (fapia_errors[0].reason , "The parameter parameter_name0 could not be found") == 0);
+ CPPUNIT_ASSERT (fapia_errors[1].error_code == FAPIA_ERROR_OK);
+ CPPUNIT_ASSERT (ACE_OS::strcmp (fapia_errors[1].reason , "") == 0);
+ CPPUNIT_ASSERT (fapia_errors[2].error_code == FAPIA_ERROR_OK);
+ CPPUNIT_ASSERT (ACE_OS::strcmp (fapia_errors[2].reason , "") == 0);
+
+
+ controller.free_memory (fapia_errors, fapia_communication.number_of_entries);
+ controller.free_memory (fapia_parameters, fapia_communication.number_of_entries);
+ controller.free_memory (&fapia_communication);
+
+ controller.fapia_deinit ();
+ }
+ ACE_OS::unlink (init.fapia_shared_memory_name_.c_str ());
+ }
+
+/*---------------------------------------------------------------------------*/
+
+
+ } /* namespace Test */
+ } /* namespace Controller */
+ } /* namespace Acyclic */
+ } /* namespace FAPI */
+
Added: fapia-trunk/FAPIAController/test/conversions/source/test_fapia_controller_conversions.h
==============================================================================
--- (empty file)
+++ fapia-trunk/FAPIAController/test/conversions/source/test_fapia_controller_conversions.h Thu Jul 19 07:12:01 2007
@@ -0,0 +1,49 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file marshallingtest.h
+ *
+ * $Id$
+ *
+ * @author Thomas Rothfuss <thomas.rothfuss at homag.de>
+ */
+//=============================================================================
+
+#ifndef _FAPIA_IPC_SYNCHRONIZE_ONE_PROCESS_TEST_H_
+#define _FAPIA_IPC_SYNCHRONIZE_ONE_PROCESS_TEST_H_
+
+#include <cppunit/extensions/HelperMacros.h>
+
+namespace FAPI
+ {
+ namespace Acyclic
+ {
+ namespace Controller
+ {
+ namespace Test
+ {
+ class ConversionsTest : public CppUnit::TestFixture
+ {
+ public:
+ CPPUNIT_TEST_SUITE (ConversionsTest);
+ CPPUNIT_TEST (test_method_request_conversions);
+ CPPUNIT_TEST_SUITE_END ();
+
+ private:
+
+ public:
+ ConversionsTest (void);
+
+ void setUp (void);
+ void tearDown (void);
+
+ void test_method_request_conversions (void);
+ }; /* class ConversionsTest */
+
+ } /* namespace Test */
+ } /* namespace Controller */
+ } /* namespace Acyclic */
+ } /* namespace FAPI */
+
+#endif // _FAPIA_IPC_SYNCHRONIZE_ONE_PROCESS_TEST_H_
More information about the OSADL-svn-commits
mailing list