github.com/jlmucb/cloudproxy@v0.0.0-20170830161738-b5aa0b619bc4/src/third_party/googlemock/gtest/xcode/Samples/FrameworkSample/widget_test.cc (about)

     1  // Copyright 2008, Google Inc.
     2  // All rights reserved.
     3  //
     4  // Redistribution and use in source and binary forms, with or without
     5  // modification, are permitted provided that the following conditions are
     6  // met:
     7  //
     8  //     * Redistributions of source code must retain the above copyright
     9  // notice, this list of conditions and the following disclaimer.
    10  //     * Redistributions in binary form must reproduce the above
    11  // copyright notice, this list of conditions and the following disclaimer
    12  // in the documentation and/or other materials provided with the
    13  // distribution.
    14  //     * Neither the name of Google Inc. nor the names of its
    15  // contributors may be used to endorse or promote products derived from
    16  // this software without specific prior written permission.
    17  //
    18  // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    19  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    20  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    21  // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    22  // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    23  // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    24  // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    25  // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    26  // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    27  // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    28  // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    29  //
    30  // Author: preston.a.jackson@gmail.com (Preston Jackson)
    31  //
    32  // Google Test - FrameworkSample
    33  // widget_test.cc
    34  //
    35  
    36  // This is a simple test file for the Widget class in the Widget.framework
    37  
    38  #include <string>
    39  #include "gtest/gtest.h"
    40  
    41  #include <Widget/widget.h>
    42  
    43  // This test verifies that the constructor sets the internal state of the
    44  // Widget class correctly.
    45  TEST(WidgetInitializerTest, TestConstructor) {
    46    Widget widget(1.0f, "name");
    47    EXPECT_FLOAT_EQ(1.0f, widget.GetFloatValue());
    48    EXPECT_EQ(std::string("name"), widget.GetStringValue());
    49  }
    50  
    51  // This test verifies the conversion of the float and string values to int and
    52  // char*, respectively.
    53  TEST(WidgetInitializerTest, TestConversion) {
    54    Widget widget(1.0f, "name");
    55    EXPECT_EQ(1, widget.GetIntValue());
    56  
    57    size_t max_size = 128;
    58    char buffer[max_size];
    59    widget.GetCharPtrValue(buffer, max_size);
    60    EXPECT_STREQ("name", buffer);
    61  }
    62  
    63  // Use the Google Test main that is linked into the framework. It does something
    64  // like this:
    65  // int main(int argc, char** argv) {
    66  //   testing::InitGoogleTest(&argc, argv);
    67  //   return RUN_ALL_TESTS();
    68  // }