Skip to content
This repository was archived by the owner on Jan 18, 2022. It is now read-only.

Commit 529f74d

Browse files
authored
Inherited required test (#1207)
* remove unused bindlingflag in RequiredSubscriptionsInfo * Added test for inherited requires
1 parent 0ca21dd commit 529f74d

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

test-project/Assets/EditmodeTests/Subscriptions/InjectionCriteriaTests.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,29 @@ public void Injection_happens_if_all_constraints_are_satisfied()
114114
Assert.IsNotNull(compositeBehaviour.Writer);
115115
}
116116

117+
[Test]
118+
public void Injection_happens_if_inherited_constraints_are_satisfied()
119+
{
120+
ReceiveSystem.Update();
121+
122+
createdGameObject = CreateAndLinkGameObjectWithComponent<InheritanceBehaviour>(EntityId);
123+
var inheritanceBehaviour = createdGameObject.GetComponent<InheritanceBehaviour>();
124+
125+
Assert.IsTrue(inheritanceBehaviour.enabled);
126+
Assert.IsNotNull(inheritanceBehaviour.OwnReader);
127+
}
128+
117129
#pragma warning disable 649
130+
private class InheritanceBehaviour : BaseBehaviour
131+
{
132+
public PositionReader OwnReader => Reader;
133+
}
134+
135+
private class BaseBehaviour : MonoBehaviour
136+
{
137+
[Require] protected PositionReader Reader;
138+
}
139+
118140
private class PositionReaderBehaviour : MonoBehaviour
119141
{
120142
[Require] public PositionReader Reader;

workers/unity/Packages/io.improbable.gdk.core/Subscriptions/RequiredSubscriptionsInfo.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ internal class RequiredSubscriptionsInfo
1111

1212
public RequiredSubscriptionsInfo(Type type)
1313
{
14-
var fields = type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.GetField |
15-
BindingFlags.NonPublic);
14+
var fields = type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
1615

1716
RequiredFields = new List<FieldInfo>();
1817

0 commit comments

Comments
 (0)