1 // Copyright 2008, Google Inc. All rights reserved.
2 //
3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions are met:
5 //
6 //  1. Redistributions of source code must retain the above copyright notice,
7 //     this list of conditions and the following disclaimer.
8 //  2. Redistributions in binary form must reproduce the above copyright notice,
9 //     this list of conditions and the following disclaimer in the documentation
10 //     and/or other materials provided with the distribution.
11 //  3. Neither the name of Google Inc. nor the names of its contributors may be
12 //     used to endorse or promote products derived from this software without
13 //     specific prior written permission.
14 //
15 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
16 // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
17 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
18 // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
19 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
21 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
22 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
23 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
24 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 
26 #include "kml/xsd/xsd_primitive_type.h"
27 #include "gtest/gtest.h"
28 
29 namespace kmlxsd {
30 
31 // This class is the unit test fixture for the XsdTypes class.
32 class XsdPrimitiveTypeTest : public testing::Test {
33 };
34 
35 // Verify NULL is returned if no attributes are supplied.
TEST_F(XsdPrimitiveTypeTest,TestXsdPrimitiveTypeNameId)36 TEST_F(XsdPrimitiveTypeTest, TestXsdPrimitiveTypeNameId) {
37   const string kBoolean("boolean");
38   const string kDouble("double");
39   const string kInt("int");
40   const string kString("string");
41 
42   ASSERT_EQ(kBoolean,
43       XsdPrimitiveType::GetTypeName(XsdPrimitiveType::XSD_BOOLEAN));
44   ASSERT_EQ(kDouble,
45       XsdPrimitiveType::GetTypeName(XsdPrimitiveType::XSD_DOUBLE));
46   ASSERT_EQ(kInt,
47       XsdPrimitiveType::GetTypeName(XsdPrimitiveType::XSD_INT));
48   ASSERT_EQ(kString,
49       XsdPrimitiveType::GetTypeName(XsdPrimitiveType::XSD_STRING));
50 
51   ASSERT_EQ(XsdPrimitiveType::XSD_BOOLEAN,
52                        XsdPrimitiveType::GetTypeId(kBoolean));
53   ASSERT_EQ(XsdPrimitiveType::XSD_DOUBLE,
54                        XsdPrimitiveType::GetTypeId(kDouble));
55   ASSERT_EQ(XsdPrimitiveType::XSD_INT,
56                        XsdPrimitiveType::GetTypeId(kInt));
57   ASSERT_EQ(XsdPrimitiveType::XSD_STRING,
58                        XsdPrimitiveType::GetTypeId(kString));
59   ASSERT_EQ(XsdPrimitiveType::XSD_INVALID,
60                        XsdPrimitiveType::GetTypeId("no-such-xsd-type"));
61   ASSERT_EQ(XsdPrimitiveType::XSD_INVALID,
62                        XsdPrimitiveType::GetTypeId("PlacemarkType"));
63 }
64 
65 }  // end namespace kmlxsd
66