Edit

kc3-lang/angle/src/common/Optional_unittest.cpp

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2015-09-14 10:31:07
    Hash : c38ae7df
    Message : Rename Optional::None to Invalid. This fixes a name conflict with the XWindow headers on Linux. Only becomes an issue when using Optional inside GL-level libANGLE. BUG=angleproject:1123 Change-Id: I7f0eb278a8b6eb6fecd864e556428678cb90dcea Reviewed-on: https://chromium-review.googlesource.com/298892 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>

  • src/common/Optional_unittest.cpp
  • //
    // Copyright (c) 2015 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    // Unit tests for ANGLE's Optional helper class.
    //
    
    #include "gmock/gmock.h"
    #include "gtest/gtest.h"
    
    #include "common/Optional.h"
    
    namespace
    {
    
    TEST(OptionalTest, BasicInvalid)
    {
        Optional<int> testInvalid;
        ASSERT_FALSE(testInvalid.valid());
        ASSERT_EQ(Optional<int>::Invalid(), testInvalid);
    }
    
    TEST(OptionalTest, BasicValid)
    {
        Optional<int> testValid(3);
        ASSERT_TRUE(testValid.valid());
        ASSERT_EQ(3, testValid.value());
        ASSERT_NE(Optional<int>::Invalid(), testValid);
    }
    
    TEST(OptionalTest, Copies)
    {
        Optional<int> testValid(3);
        Optional<int> testInvalid;
    
        Optional<int> testCopy = testInvalid;
        ASSERT_FALSE(testCopy.valid());
        ASSERT_EQ(testInvalid, testCopy);
    
        testCopy = testValid;
        ASSERT_TRUE(testCopy.valid());
        ASSERT_EQ(3, testCopy.value());
        ASSERT_EQ(testValid, testCopy);
    }
    
    } // namespace