1aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// Copyright 2006, Google Inc.
2aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// All rights reserved.
3aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter//
4aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// Redistribution and use in source and binary forms, with or without
5aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// modification, are permitted provided that the following conditions are
6aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// met:
7aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter//
8aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter//     * Redistributions of source code must retain the above copyright
9aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// notice, this list of conditions and the following disclaimer.
10aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter//     * Redistributions in binary form must reproduce the above
11aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// copyright notice, this list of conditions and the following disclaimer
12aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// in the documentation and/or other materials provided with the
13aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// distribution.
14aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter//     * Neither the name of Google Inc. nor the names of its
15aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// contributors may be used to endorse or promote products derived from
16aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// this software without specific prior written permission.
17aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter//
18aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter//
30aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// Author: wan@google.com (Zhanyong Wan)
31aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter//
32aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter// This is part of the unit test for include/gtest/gtest_prod.h.
33aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter
34aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter#ifndef GTEST_TEST_PRODUCTION_H_
35aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter#define GTEST_TEST_PRODUCTION_H_
36aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter
37aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter#include "gtest/gtest_prod.h"
38aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter
39aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchterclass PrivateCode {
40aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter public:
41aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter  // Declares a friend test that does not use a fixture.
42aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter  FRIEND_TEST(PrivateCodeTest, CanAccessPrivateMembers);
43aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter
44aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter  // Declares a friend test that uses a fixture.
45aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter  FRIEND_TEST(PrivateCodeFixtureTest, CanAccessPrivateMembers);
46aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter
47aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter  PrivateCode();
48aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter
49aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter  int x() const { return x_; }
50aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter private:
51aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter  void set_x(int an_x) { x_ = an_x; }
52aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter  int x_;
53aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter};
54aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter
55aa46da279e2426caf1e103eb079dfec8124c5feeCourtney Goeltzenleuchter#endif  // GTEST_TEST_PRODUCTION_H_
56