summaryrefslogtreecommitdiff
path: root/TAO/tests/Multiple/Collocation_Tester.h
blob: 1900309215126a2c46e324c02c12162b82826cf6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
//$Id$
//
// ============================================================================
//
// = LIBRARY
//    TAO/tests/Multiple
//
// = FILENAME
//    Collocation_Tester.h
//
// = DESCRIPTION
//     This file contains the class that tests the TAO's collocation
//     mechanism.
//
// = AUTHOR
//     Angelo Corsaro <corsaro@cs.wustl.edu>
//
// ============================================================================

// -- Custom App. Include --
#include "MultipleC.h"

#include "ace/Log_Msg.h"

struct Quote
{
  static const char *top;
  static const char *left;
  static const char *right;
  static const char *bottom;
};


class Collocation_Tester
{
public:

  // -- Constructor/Destructors --
  Collocation_Tester (CORBA::Object_ptr object);

  ~Collocation_Tester ();

  // -- Command --
  void run (ACE_ENV_SINGLE_ARG_DECL);
  // Runs the test.


private:

  // -- Helper Methods --

  int  test_top (ACE_ENV_SINGLE_ARG_DECL);
  // Tests the method accessible thru the
  // Top interface.

  int test_right (ACE_ENV_SINGLE_ARG_DECL);
  // Tests the method accessible thru the
  // Right interface.

  int test_left (ACE_ENV_SINGLE_ARG_DECL);
  // Tests the method accessible thru the
  // Left interface.

  int test_bottom (ACE_ENV_SINGLE_ARG_DECL);
  // Tests the method accessible thru the
  // Bottom interface.

  int match_answer (const char *actual_answer,
                     const char *right_answer,
                     const char *method_name);
  // This method tests wether the answer obtained
  // is the one expected. As strcmp, it returns zero
  // if a match occurs and a non-zero value if there
  // is no match (actually 1 is returned if there is
  // no match.

  void shutdown (ACE_ENV_SINGLE_ARG_DECL);
private:
  CORBA::Object_var object_;
};