7 #include <gtest/gtest.h>
10 TEST(fields2cover_types_geometries, constructor) {
13 for (
int i =0; i < N; ++i) {
19 for (
int i =0; i < N; ++i) {
20 EXPECT_EQ(
line2.getX(i), i);
21 EXPECT_EQ(
line2.getY(i), i);
23 EXPECT_EQ(
line2.size(), N);
26 TEST(fields2cover_types_geometries, access_iterators) {
30 for (
int i =0; i < N; ++i) {
33 for (
int i =0; i < N; ++i) {
34 EXPECT_EQ(line.
getX(i), i);
35 EXPECT_EQ(line.
getY(i), i);
37 EXPECT_EQ(line.
size(), N);
41 EXPECT_EQ(p.getX(), i);
42 EXPECT_EQ(p.getY(), i);
47 for (
auto&& p : line) {
48 EXPECT_EQ(p.getX(), i);
49 EXPECT_EQ(p.getY(), i);
54 for (
auto& p : line) {
55 EXPECT_EQ(p.getX(), i);
56 EXPECT_EQ(p.getY(), i);
61 for (
const auto& p : line) {
62 EXPECT_EQ(p.getX(), i);
63 EXPECT_EQ(p.getY(), i);
69 TEST(fields2cover_types_geometries, mult_iterators) {
73 for (
int i =0; i < N; ++i) {
76 for (
int i =0; i < N; ++i) {
77 EXPECT_EQ(line.
getX(i), i);
78 EXPECT_EQ(line.
getY(i), i);
80 EXPECT_EQ(line.
size(), N);
83 for (
auto&& p : line) {
84 EXPECT_EQ(p.getX(), i);
85 EXPECT_EQ(p.getY(), i);
87 EXPECT_EQ(p.getX(), 1e1 * i);
88 EXPECT_EQ(p.getY(), 1e1 * i);
93 for (
auto&& p : line) {
94 EXPECT_EQ(p.getX(), 1e1 * i);
95 EXPECT_EQ(p.getY(), 1e1 * i);
99 for (
auto& p : line) {
100 EXPECT_EQ(p.getX(), 1e1 * i);
101 EXPECT_EQ(p.getY(), 1e1 * i);
103 EXPECT_EQ(p.getX(), 1e2 * i);
104 EXPECT_EQ(p.getY(), 1e2 * i);
109 for (
auto&& p : line) {
110 EXPECT_EQ(p.getX(), 1e2 * i);
111 EXPECT_EQ(p.getY(), 1e2 * i);
116 TEST(fields2cover_types_geometries, simplify) {
123 EXPECT_NEAR(line.length(), line.simplify(1e-2).length(), 0.1);
124 auto s_lines =
lines.simplify(1e-2);
125 EXPECT_NEAR(
lines[0].length(), s_lines.getGeometry(0).length(), 0.1);
126 EXPECT_NEAR(
cell.area(),
cell.simplify(1e-2).area(), 0.1);
127 EXPECT_NEAR(
cells.area(),
cells.simplify(1e-2).area(), 0.1);
130 TEST(fields2cover_types_geometries, area) {
139 EXPECT_NEAR(
ps.area(), 0, 1e-3);
140 EXPECT_NEAR(ring1.area(), 1, 1e-3);
141 EXPECT_NEAR(line.area(), 1, 1e-3);
142 EXPECT_NEAR(
lines.area(), 1, 1e-3);
143 EXPECT_NEAR(
cell.area(), 1, 1e-3);
144 EXPECT_NEAR(
cells.area(), 1, 1e-3);
145 EXPECT_NEAR(
cell.clone().area(), 1, 1e-3);