Skip to content

Commit 038fb77

Browse files
committed
Fix some tests.
1 parent a5d8c77 commit 038fb77

File tree

2 files changed

+12
-13
lines changed

2 files changed

+12
-13
lines changed

Core/GDCore/IDE/EventsBasedObjectVariantHelper.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ void EventsBasedObjectVariantHelper::ComplyVariantsToEventsBasedObject(
3131
it != objects.GetObjects().end(); ++it) {
3232
const auto &objectName = it->get()->GetName();
3333
if (!defaultObjects.HasObjectNamed(objectName)) {
34+
variant->GetInitialInstances().RemoveInitialInstancesOfObject(
35+
objectName);
36+
// Do it in last because it unalloc objectName.
3437
objects.RemoveObject(objectName);
3538
--it;
3639
}
@@ -117,7 +120,6 @@ void EventsBasedObjectVariantHelper::ComplyVariantsToEventsBasedObject(
117120

118121
if (!defaultVariables.Has(variableName)) {
119122
instanceVariables.Remove(variableName);
120-
instanceVariableIndex--;
121123
}
122124
}
123125
return false;

Core/tests/EventsBasedObjectVariantHelper.cpp

+9-12
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,6 @@ TEST_CASE("EventsBasedObjectVariantHelper", "[common]") {
6565
auto &eventsBasedObject = SetupEventsBasedObject(project);
6666
auto &variant = eventsBasedObject.GetVariants().InsertVariant(
6767
eventsBasedObject.GetDefaultVariant(), 0);
68-
gd::InitialInstance *variantInstance = GetFirstInstanceOf(
69-
"MyChildObject", eventsBasedObject.GetInitialInstances());
7068

7169
// Do the changes and launch the refactoring.
7270
eventsBasedObject.GetObjects().InsertNewObject(
@@ -78,8 +76,8 @@ TEST_CASE("EventsBasedObjectVariantHelper", "[common]") {
7876
project, eventsBasedObject);
7977

8078
REQUIRE(variant.GetObjects().HasObjectNamed("MyChildObject"));
81-
REQUIRE(variant.GetObjects().HasObjectNamed("MyOtherObject2"));
82-
REQUIRE(variant.GetObjects().HasObjectNamed("MyOtherObject3"));
79+
REQUIRE(variant.GetObjects().HasObjectNamed("MyChildObject2"));
80+
REQUIRE(variant.GetObjects().HasObjectNamed("MyChildObject3"));
8381
}
8482

8583
SECTION("Can remove missing objects") {
@@ -95,8 +93,8 @@ TEST_CASE("EventsBasedObjectVariantHelper", "[common]") {
9593

9694
auto &variant = eventsBasedObject.GetVariants().InsertVariant(
9795
eventsBasedObject.GetDefaultVariant(), 0);
98-
gd::InitialInstance *variantInstance = GetFirstInstanceOf(
99-
"MyChildObject", eventsBasedObject.GetInitialInstances());
96+
variant.GetInitialInstances().InsertNewInitialInstance().SetObjectName("MyChildObject2");
97+
REQUIRE(variant.GetInitialInstances().HasInstancesOfObject("MyChildObject2") == true);
10098

10199
// Do the changes and launch the refactoring.
102100
eventsBasedObject.GetObjects().RemoveObject("MyChildObject2");
@@ -108,6 +106,7 @@ TEST_CASE("EventsBasedObjectVariantHelper", "[common]") {
108106
REQUIRE(variant.GetObjects().HasObjectNamed("MyChildObject"));
109107
REQUIRE(variant.GetObjects().HasObjectNamed("MyChildObject2") == false);
110108
REQUIRE(variant.GetObjects().HasObjectNamed("MyChildObject3") == false);
109+
REQUIRE(variant.GetInitialInstances().HasInstancesOfObject("MyChildObject2") == false);
111110
}
112111

113112
SECTION("Can change object type") {
@@ -117,12 +116,9 @@ TEST_CASE("EventsBasedObjectVariantHelper", "[common]") {
117116
auto &eventsBasedObject = SetupEventsBasedObject(project);
118117
auto &variant = eventsBasedObject.GetVariants().InsertVariant(
119118
eventsBasedObject.GetDefaultVariant(), 0);
120-
gd::InitialInstance *variantInstance = GetFirstInstanceOf(
121-
"MyChildObject", eventsBasedObject.GetInitialInstances());
122119

123120
// Do the changes and launch the refactoring.
124121
eventsBasedObject.GetObjects().RemoveObject("MyChildObject");
125-
std::cout << "InsertNewObject" << std::endl;
126122
eventsBasedObject.GetObjects().InsertNewObject(
127123
project, "MyExtension::FakeObjectWithDefaultBehavior", "MyChildObject",
128124
0);
@@ -133,6 +129,7 @@ TEST_CASE("EventsBasedObjectVariantHelper", "[common]") {
133129
REQUIRE(variant.GetObjects().HasObjectNamed("MyChildObject"));
134130
REQUIRE(variant.GetObjects().GetObject("MyChildObject").GetType() ==
135131
"MyExtension::FakeObjectWithDefaultBehavior");
132+
REQUIRE(variant.GetInitialInstances().GetInstancesCount() == 1);
136133
}
137134

138135
SECTION("Can add missing behaviors") {
@@ -144,7 +141,7 @@ TEST_CASE("EventsBasedObjectVariantHelper", "[common]") {
144141
eventsBasedObject.GetDefaultVariant(), 0);
145142

146143
// Do the changes and launch the refactoring.
147-
auto &object = eventsBasedObject.GetObjects().GetObject("MyObject");
144+
auto &object = eventsBasedObject.GetObjects().GetObject("MyChildObject");
148145
object.AddNewBehavior(project, "MyExtension::MyBehavior", "MyBehavior2");
149146
object.AddNewBehavior(project, "MyExtension::MyBehavior", "MyBehavior3");
150147

@@ -164,7 +161,7 @@ TEST_CASE("EventsBasedObjectVariantHelper", "[common]") {
164161
SetupProjectWithDummyPlatform(project, platform);
165162
auto &eventsBasedObject = SetupEventsBasedObject(project);
166163

167-
auto &object = eventsBasedObject.GetObjects().GetObject("MyObject");
164+
auto &object = eventsBasedObject.GetObjects().GetObject("MyChildObject");
168165
object.AddNewBehavior(project, "MyExtension::MyBehavior", "MyBehavior2");
169166
object.AddNewBehavior(project, "MyExtension::MyBehavior", "MyBehavior3");
170167

@@ -195,7 +192,7 @@ TEST_CASE("EventsBasedObjectVariantHelper", "[common]") {
195192
eventsBasedObject.GetDefaultVariant(), 0);
196193

197194
// Do the changes and launch the refactoring.
198-
auto &object = eventsBasedObject.GetObjects().GetObject("MyObject");
195+
auto &object = eventsBasedObject.GetObjects().GetObject("MyChildObject");
199196
object.RemoveBehavior("MyBehavior");
200197
object.AddNewBehavior(project, "MyExtension::MyOtherBehavior",
201198
"MyBehavior");

0 commit comments

Comments
 (0)