• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ParadoxGameConverters / Vic3ToHoI4 / 17881931838

15 Sep 2025 02:34PM UTC coverage: 93.837% (-0.3%) from 94.165%
17881931838

push

github

web-flow
Add clang-tidy bugprone checks (#751)

* bugprone-narrowing-conversions

* Add missing reference

* bugprone-unchecked-optional-access

* bugprone-empty-catch

* Start on next check.

* Build fix

* Fix some more easily swappable parameters.

* More build fixes

* Even more build fixes.

* PosssiblePath swappables

* Fix build

* Clear up ship construction

* Strategic regions

* OutWorld

* Partial railways_converter

* Build fix

* More railways.

* Build fix

* Turn off linting for parts of localizations_converter

* Remove some unneeded functions.

* Revert options change

* Formatting

* Fix test

* Build fix

* Try turning on one last check

* Yeah, that's giving hundreds of false positives, no thanks.

* Warning as error

865 of 1008 new or added lines in 71 files covered. (85.81%)

1 existing line in 1 file now uncovered.

24101 of 25684 relevant lines covered (93.84%)

52597.84 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

75.0
/src/mappers/resources/resource_mapper_tests.cpp
1
#include <external/commonItems/external/googletest/googlemock/include/gmock/gmock-matchers.h>
2
#include <external/commonItems/external/googletest/googletest/include/gtest/gtest.h>
3

4
#include "src/mappers/resources/resource_mapper.h"
5

6
constexpr float kTolerance = 0.0001F;
7

8
namespace mappers
9
{
10

11
TEST(MappersResourcesResourceMapperTests, EmptyMapperNoInfo)
4✔
12
{
13
   std::map<std::string, ResourceScore> empty{};
1✔
14
   ResourceMapper mapper(empty);
1✔
15

16
   std::vector<vic3::Building> buildings{
17
       {"building_iron_mine", 1, vic3::GoodsSalesValue{1.0F}, vic3::StaffingLevel{1.0F}, {}}};
2✔
18
   EXPECT_NEAR(mapper.CalculateScore("some_resource", buildings), 0.0F, kTolerance);
1✔
19
   EXPECT_NEAR(mapper.WorldTotal("some_resource"), 0.0F, kTolerance);
1✔
20
}
3✔
21

22
TEST(MappersResourcesResourceMapperTests, ScoresAreCalculated)
4✔
23
{
24
   std::map<std::string, ResourceScore> steel{
25
       {"steel", {.base = {{"building_iron_mine", 1.0F}}, .bonus_buildings = {}, .bonus = 0.0F, .total = 1.0F}},
×
26
   };
3✔
27
   ResourceMapper mapper(steel);
1✔
28

29
   std::vector<vic3::Building> buildings{
30
       {"building_iron_mine", 1, vic3::GoodsSalesValue{1.0F}, vic3::StaffingLevel{1.0F}, {}}};
2✔
31
   EXPECT_NEAR(mapper.CalculateScore("steel", buildings), 1.0F, kTolerance);
1✔
32
   EXPECT_NEAR(mapper.CalculateScore("oil", buildings), 0.0F, kTolerance);
1✔
33
   EXPECT_NEAR(mapper.WorldTotal("steel"), 1.0F, kTolerance);
1✔
34
   EXPECT_NEAR(mapper.WorldTotal("oil"), 0.0F, kTolerance);
1✔
35
}
6✔
36

37
TEST(MappersResourcesResourceMapperTests, BonusIsAppliedAndCapped)
4✔
38
{
39
   std::map<std::string, ResourceScore> scores{
40
       {
41
           "steel",
42
           {
43
               .base = {{"building_iron_mine", 1.0F}},
×
44
               .bonus_buildings = {"building_coal_mine"},
45
               .bonus = 0.1F,
46
               .total = 0.0F,
47
           },
48
       },
49
       {
50
           "oil",
51
           {
52
               .base = {{"building_oil_rig", 1.0F}},
×
53
               .bonus_buildings = {"building_coal_mine"},
54
               .bonus = 0.1F,
55
               .total = 0.0F,
56
           },
57
       },
58
   };
7✔
59
   ResourceMapper mapper(scores);
1✔
60

61
   std::vector<vic3::Building> buildings{
NEW
62
       {"building_iron_mine", 1, vic3::GoodsSalesValue{1.0F}, vic3::StaffingLevel{1.0F}, {}},
×
NEW
63
       {"building_oil_rig", 1, vic3::GoodsSalesValue{0.1F}, vic3::StaffingLevel{1.0F}, {}},
×
64
       {
65
           "building_coal_mine",
66
           1,
×
NEW
67
           vic3::GoodsSalesValue{0.5F},
×
NEW
68
           vic3::StaffingLevel{1.0F},
×
69
           {},
70
       },
71
   };
4✔
72
   EXPECT_NEAR(mapper.CalculateScore("steel", buildings), 1.05F, kTolerance);
1✔
73
   EXPECT_NEAR(mapper.CalculateScore("oil", buildings), 0.11F, kTolerance);
1✔
74
   EXPECT_NEAR(mapper.CalculateScore("tungsten", buildings), 0.0F, kTolerance);
1✔
75
}
9✔
76

77
}  // namespace mappers
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc