|  | // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  |  | 
|  | #include "base/bit_cast.h" | 
|  |  | 
|  | #include "testing/gtest/include/gtest/gtest.h" | 
|  |  | 
|  | namespace base { | 
|  | namespace { | 
|  |  | 
|  | TEST(BitCastTest, FloatIntFloat) { | 
|  | float f = 3.1415926f; | 
|  | int i = bit_cast<int32_t>(f); | 
|  | float f2 = bit_cast<float>(i); | 
|  | EXPECT_EQ(f, f2); | 
|  | } | 
|  |  | 
|  | struct A { | 
|  | int x; | 
|  | }; | 
|  |  | 
|  | TEST(BitCastTest, StructureInt) { | 
|  | A a = { 1 }; | 
|  | int b = bit_cast<int>(a); | 
|  | EXPECT_EQ(1, b); | 
|  | } | 
|  |  | 
|  | }  // namespace | 
|  | }  // namespace base |