| // 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 |