File: GeoJSONValueTest.cpp

package info (click to toggle)
geos 3.14.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 31,212 kB
  • sloc: cpp: 199,103; xml: 56,065; ansic: 6,162; sh: 287; makefile: 26
file content (100 lines) | stat: -rw-r--r-- 1,833 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
//
// Test Suite for geos::io::GeoJSONVaue

// tut
#include <tut/tut.hpp>
// geos
#include <geos/io/GeoJSON.h>
// std
#include <string>

namespace tut {

//
// Test Group
//
struct test_geojson_data {
};

typedef test_group<test_geojson_data> group;
typedef group::object object;

group test_geojson_group("geos::io::GeoJSONValue");

// Number
template<>
template<>
void object::test<1>
()
{
    geos::io::GeoJSONValue value {1.2};
    ensure(value.isNumber());
    ensure_equals(1.2, value.getNumber());
}

// Boolean
template<>
template<>
void object::test<2>
()
{
    geos::io::GeoJSONValue value { true };
    ensure(value.isBoolean());
    ensure_equals(true, value.getBoolean());
}

// Null
template<>
template<>
void object::test<3>
()
{
    geos::io::GeoJSONValue value;
    ensure(value.isNull());
    ensure(nullptr == value.getNull());
}

// String
template<>
template<>
void object::test<4>
()
{
    geos::io::GeoJSONValue value { std::string {"hello"} };
    ensure(value.isString());
    ensure_equals(std::string {"hello"}, value.getString());
}

// Object
template<>
template<>
void object::test<5>
()
{
    std::map<std::string, geos::io::GeoJSONValue> values {
        {"id", geos::io::GeoJSONValue{1.0}}
    };
    geos::io::GeoJSONValue value {values};
    ensure(value.isObject());
    ensure_equals(1, value.getObject().at("id").getNumber());
}

// Array
template<>
template<>
void object::test<6>
()
{
    std::vector<geos::io::GeoJSONValue> values {
        geos::io::GeoJSONValue{1.0},
        geos::io::GeoJSONValue{2.0},
        geos::io::GeoJSONValue{3.0}
    };
    geos::io::GeoJSONValue value {values};
    ensure(value.isArray());
    ensure_equals(1, value.getArray()[0].getNumber());
    ensure_equals(2, value.getArray()[1].getNumber());
    ensure_equals(3, value.getArray()[2].getNumber());
}

}