sg_obj_test.cpp
Go to the documentation of this file.
1 //=============================================================================
2 // Copyright (C) 2021-2024 Wageningen University - All Rights Reserved
3 // Author: Gonzalo Mier
4 // BSD-3 License
5 //=============================================================================
6 
7 #include <gtest/gtest.h>
8 #include "fields2cover/types.h"
10 
11 TEST(fields2cover_obj_sg_obj, get_best_value) {
12  F2CSwaths swaths3 (2);
14  EXPECT_EQ(obj.computeCost(swaths3), 0);
15 
16  for (int i = 0; i < 10; ++i) {
17  swaths3.emplace_back(F2CSwath());
18  EXPECT_EQ(obj.computeCost(swaths3), 0);
19  }
20 }
21 
22 TEST(fields2cover_obj_sg_obj, computeCost_cost) {
23  F2CSwath swath1 (1);
24  F2CSwaths swaths2 (2);
25  F2CSwaths swaths3 (2);
26  F2CSwathsByCells swaths_cells;
27  swaths_cells.emplace_back(swaths2);
28  swaths_cells.emplace_back(swaths3);
29 
31 
32  EXPECT_EQ(obj.computeCost(swath1), 0.0);
33  EXPECT_EQ(obj.computeCostWithMinimizingSign(swath1), 0.0);
34 
35  EXPECT_EQ(obj.computeCost(swaths2), 0.0);
36  EXPECT_EQ(obj.computeCostWithMinimizingSign(swaths2), 0.0);
37 
38  EXPECT_EQ(obj.computeCost(swaths3), 0.0);
39  EXPECT_EQ(obj.computeCostWithMinimizingSign(swaths3), 0.0);
40 
41  EXPECT_EQ(obj.computeCost(swaths_cells), 0.0);
42  EXPECT_EQ(obj.computeCost(F2CCell(), swaths_cells), 0.0);
43  EXPECT_EQ(obj.computeCost(F2CCells(), swaths_cells), 0.0);
44  EXPECT_EQ(obj.computeCostWithMinimizingSign(swaths_cells), 0.0);
45 
46  swaths3.emplace_back(F2CSwath());
47  EXPECT_EQ(obj.computeCost(swaths3), 0.0);
48 
49  swaths3.emplace_back(F2CSwath());
50  EXPECT_EQ(obj.computeCost(swaths3), 0.0);
51  EXPECT_EQ(obj.computeCost(F2CCell(), swaths3), 0.0);
52  EXPECT_EQ(obj.computeCost(F2CCells(), swaths3), 0.0);
53 
54  EXPECT_EQ(obj.computeCostWithMinimizingSign(F2CCell(), swath1), 0.0);
55  EXPECT_EQ(obj.computeCostWithMinimizingSign(F2CCells(), swath1), 0.0);
56  EXPECT_EQ(obj.computeCostWithMinimizingSign(F2CCell(), swaths3), 0.0);
57  EXPECT_EQ(obj.computeCostWithMinimizingSign(F2CCells(), swaths3), 0.0);
58  EXPECT_EQ(obj.computeCostWithMinimizingSign(F2CCell(), swaths_cells), 0.0);
59  EXPECT_EQ(obj.computeCostWithMinimizingSign(F2CCells(), swaths_cells), 0.0);
60 }
61 
62 TEST(fields2cover_obj_sg_obj, params_check) {
63  f2c::obj::SGObjective objective;
64 
65  EXPECT_FALSE(objective.isMaximizing());
66  EXPECT_TRUE(objective.isMinimizing());
67  EXPECT_FALSE(objective.isFastCompAvailable());
68 }
69 
TEST
TEST(fields2cover_obj_sg_obj, get_best_value)
Definition: sg_obj_test.cpp:11
types.h
f2c::types::Swath
Definition: Swath.h:23
f2c::obj::SGObjective
Base class for objective functions of swath generators.
Definition: sg_objective.h:21
2_objective_functions.swath1
swath1
Definition: 2_objective_functions.py:30
f2c::types::Cell
Definition: Cell.h:32
7_decomposition.obj
obj
Definition: 7_decomposition.py:32
f2c::obj::BaseObjective::isMaximizing
virtual bool isMaximizing() const
Return true if the objective is to maximize the cost function.
Definition: base_objective.h:52
f2c::types::Cells
Definition: Cells.h:21
f2c::obj::SGObjective::isFastCompAvailable
virtual bool isFastCompAvailable() const
Definition: sg_objective.h:23
2_objective_functions.swaths3
swaths3
Definition: 2_objective_functions.py:39
f2c::types::SwathsByCells
Definition: SwathsByCells.h:17
sg_objective.h
F2CSwath
f2c::types::Swath F2CSwath
Definition: types.h:50
f2c::types::SwathsByCells::emplace_back
void emplace_back(const Swaths &s)
Definition: SwathsByCells.cpp:30
f2c::types::Swaths
Definition: Swaths.h:20
f2c::obj::BaseObjective::isMinimizing
virtual bool isMinimizing() const
Return true if the objective is to minimize the cost function.
Definition: base_objective.h:50


fields2cover
Author(s):
autogenerated on Fri Apr 25 2025 02:18:31