summaryrefslogtreecommitdiff
path: root/TAO/tests/Multiple/Collocation_Tester.h
blob: fc2508109921b1605081c38584d35b34bc284d16 (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
//=============================================================================
/**
 *  @file    Collocation_Tester.h
 *
 *   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 --
  /// Runs the test.
  void run (void);


private:
  // -- Helper Methods --

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

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

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

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

  /**
   * 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.
   */
  int match_answer (const char *actual_answer,
                     const char *right_answer,
                     const char *method_name);

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