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