Skip to content

Commit 24cc69a

Browse files
committed
fix NetworkObjectMetricsTests
1 parent 8800ccd commit 24cc69a

File tree

1 file changed

+44
-43
lines changed

1 file changed

+44
-43
lines changed

com.unity.netcode.gameobjects/Tests/Runtime/Metrics/NetworkObjectMetricsTests.cs

Lines changed: 44 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ namespace Unity.Netcode.RuntimeTests.Metrics
1313
{
1414
public class NetworkObjectMetricsTests : SingleClientMetricTestBase
1515
{
16-
const string NewNetworkObjectName = "TestNetworkObjectToSpawn";
16+
private const string k_NewNetworkObjectName = "TestNetworkObjectToSpawn";
1717

18-
NetworkObject m_NewNetworkObject;
18+
private NetworkObject m_NewNetworkPrefab;
1919

2020
protected override Action<GameObject> UpdatePlayerPrefab => _ =>
2121
{
22-
var gameObject = new GameObject(NewNetworkObjectName);
23-
m_NewNetworkObject = gameObject.AddComponent<NetworkObject>();
24-
m_NewNetworkObject.NetworkManagerOwner = m_ServerNetworkManager;
25-
MultiInstanceHelpers.MakeNetworkObjectTestPrefab(m_NewNetworkObject);
22+
var gameObject = new GameObject(k_NewNetworkObjectName);
23+
m_NewNetworkPrefab = gameObject.AddComponent<NetworkObject>();
24+
m_NewNetworkPrefab.NetworkManagerOwner = m_ServerNetworkManager;
25+
MultiInstanceHelpers.MakeNetworkObjectTestPrefab(m_NewNetworkPrefab);
2626
var networkPrefab = new NetworkPrefab { Prefab = gameObject };
2727
m_ServerNetworkManager.NetworkConfig.NetworkPrefabs.Add(networkPrefab);
2828

@@ -32,12 +32,23 @@ public class NetworkObjectMetricsTests : SingleClientMetricTestBase
3232
}
3333
};
3434

35+
private NetworkObject SpawnNetworkObject()
36+
{
37+
// Spawn another network object so we can hide multiple.
38+
var gameObject = UnityEngine.Object.Instantiate(m_NewNetworkPrefab); // new GameObject(NewNetworkObjectName);
39+
var networkObject = gameObject.GetComponent<NetworkObject>();
40+
networkObject.NetworkManagerOwner = Server;
41+
networkObject.Spawn();
42+
43+
return networkObject;
44+
}
45+
3546
[UnityTest]
3647
public IEnumerator TrackNetworkObjectSpawnSentMetric()
3748
{
3849
var waitForMetricEvent = new WaitForMetricValues<ObjectSpawnedEvent>(ServerMetrics.Dispatcher, MetricNames.ObjectSpawnedSent);
3950

40-
m_NewNetworkObject.Spawn();
51+
SpawnNetworkObject();
4152

4253
yield return waitForMetricEvent.WaitForMetricsReceived();
4354

@@ -46,7 +57,7 @@ public IEnumerator TrackNetworkObjectSpawnSentMetric()
4657

4758
var objectSpawned = objectSpawnedSentMetricValues.First();
4859
Assert.AreEqual(Client.LocalClientId, objectSpawned.Connection.Id);
49-
Assert.AreEqual(NewNetworkObjectName, objectSpawned.NetworkId.Name);
60+
Assert.AreEqual($"{k_NewNetworkObjectName}(Clone)", objectSpawned.NetworkId.Name);
5061
Assert.AreNotEqual(0, objectSpawned.BytesCount);
5162
}
5263

@@ -55,7 +66,7 @@ public IEnumerator TrackNetworkObjectSpawnReceivedMetric()
5566
{
5667
var waitForMetricEvent = new WaitForMetricValues<ObjectSpawnedEvent>(ClientMetrics.Dispatcher, MetricNames.ObjectSpawnedReceived);
5768

58-
m_NewNetworkObject.Spawn();
69+
var networkObject = SpawnNetworkObject();
5970

6071
yield return waitForMetricEvent.WaitForMetricsReceived();
6172

@@ -64,21 +75,21 @@ public IEnumerator TrackNetworkObjectSpawnReceivedMetric()
6475

6576
var objectSpawned = objectSpawnedReceivedMetricValues.First();
6677
Assert.AreEqual(Server.LocalClientId, objectSpawned.Connection.Id);
67-
Assert.AreEqual(m_NewNetworkObject.NetworkObjectId, objectSpawned.NetworkId.NetworkId);
68-
Assert.AreEqual($"{NewNetworkObjectName}(Clone)", objectSpawned.NetworkId.Name);
78+
Assert.AreEqual(networkObject.NetworkObjectId, objectSpawned.NetworkId.NetworkId);
79+
Assert.AreEqual($"{k_NewNetworkObjectName}(Clone)", objectSpawned.NetworkId.Name);
6980
Assert.AreNotEqual(0, objectSpawned.BytesCount);
7081
}
7182

7283
[UnityTest]
7384
public IEnumerator TrackNetworkObjectDestroySentMetric()
7485
{
75-
m_NewNetworkObject.Spawn();
86+
var networkObject = SpawnNetworkObject();
7687

7788
yield return new WaitForSeconds(0.2f);
7889

7990
var waitForMetricEvent = new WaitForMetricValues<ObjectDestroyedEvent>(ServerMetrics.Dispatcher, MetricNames.ObjectDestroyedSent);
8091

81-
Server.SpawnManager.OnDespawnObject(m_NewNetworkObject, true);
92+
Server.SpawnManager.OnDespawnObject(networkObject, true);
8293

8394
yield return waitForMetricEvent.WaitForMetricsReceived();
8495

@@ -87,20 +98,20 @@ public IEnumerator TrackNetworkObjectDestroySentMetric()
8798

8899
var objectDestroyed = objectDestroyedSentMetricValues.Last();
89100
Assert.AreEqual(Client.LocalClientId, objectDestroyed.Connection.Id);
90-
Assert.AreEqual(NewNetworkObjectName, objectDestroyed.NetworkId.Name);
101+
Assert.AreEqual($"{k_NewNetworkObjectName}(Clone)", objectDestroyed.NetworkId.Name);
91102
Assert.AreNotEqual(0, objectDestroyed.BytesCount);
92103
}
93104

94105
[UnityTest]
95106
public IEnumerator TrackNetworkObjectDestroyReceivedMetric()
96107
{
97-
m_NewNetworkObject.Spawn();
108+
var networkObject = SpawnNetworkObject();
98109

99110
yield return new WaitForSeconds(0.2f);
100111

101112
var waitForMetricEvent = new WaitForMetricValues<ObjectDestroyedEvent>(ClientMetrics.Dispatcher, MetricNames.ObjectDestroyedReceived);
102113

103-
Server.SpawnManager.OnDespawnObject(m_NewNetworkObject, true);
114+
Server.SpawnManager.OnDespawnObject(networkObject, true);
104115

105116
yield return waitForMetricEvent.WaitForMetricsReceived();
106117

@@ -109,31 +120,26 @@ public IEnumerator TrackNetworkObjectDestroyReceivedMetric()
109120

110121
var objectDestroyed = objectDestroyedReceivedMetricValues.First();
111122
Assert.AreEqual(Server.LocalClientId, objectDestroyed.Connection.Id);
112-
Assert.AreEqual(m_NewNetworkObject.NetworkObjectId, objectDestroyed.NetworkId.NetworkId);
113-
Assert.AreEqual($"{NewNetworkObjectName}(Clone)", objectDestroyed.NetworkId.Name);
123+
Assert.AreEqual(networkObject.NetworkObjectId, objectDestroyed.NetworkId.NetworkId);
124+
Assert.AreEqual($"{k_NewNetworkObjectName}(Clone)", objectDestroyed.NetworkId.Name);
114125
Assert.AreNotEqual(0, objectDestroyed.BytesCount);
115126
}
116127

117128
[UnityTest]
118129
public IEnumerator TrackMultipleNetworkObjectSpawnSentMetric()
119130
{
120-
m_NewNetworkObject.Spawn();
121-
122-
// Spawn another network object so we can hide multiple.
123-
var gameObject = new GameObject(NewNetworkObjectName);
124-
var anotherNetworkObject = gameObject.AddComponent<NetworkObject>();
125-
anotherNetworkObject.NetworkManagerOwner = Server;
126-
anotherNetworkObject.Spawn();
131+
var networkObject1 = SpawnNetworkObject();
132+
var networkObject2 = SpawnNetworkObject();
127133

128134
yield return new WaitForSeconds(0.2f);
129135

130-
NetworkObject.NetworkHide(new List<NetworkObject>{m_NewNetworkObject, anotherNetworkObject}, Client.LocalClientId);
136+
NetworkObject.NetworkHide(new List<NetworkObject> { networkObject1, networkObject2 }, Client.LocalClientId);
131137

132138
yield return new WaitForSeconds(0.2f);
133139

134140
var waitForMetricEvent = new WaitForMetricValues<ObjectSpawnedEvent>(ServerMetrics.Dispatcher, MetricNames.ObjectSpawnedSent);
135141

136-
NetworkObject.NetworkShow(new List<NetworkObject>{m_NewNetworkObject, anotherNetworkObject}, Client.LocalClientId);
142+
NetworkObject.NetworkShow(new List<NetworkObject> { networkObject1, networkObject2 }, Client.LocalClientId);
137143

138144
yield return waitForMetricEvent.WaitForMetricsReceived();
139145

@@ -143,14 +149,14 @@ public IEnumerator TrackMultipleNetworkObjectSpawnSentMetric()
143149
objectSpawnedSentMetricValues,
144150
Has.Exactly(1).Matches<ObjectSpawnedEvent>(
145151
x => Client.LocalClientId == x.Connection.Id
146-
&& x.NetworkId.NetworkId == m_NewNetworkObject.NetworkObjectId
147-
&& x.NetworkId.Name == m_NewNetworkObject.name));
152+
&& x.NetworkId.NetworkId == networkObject1.NetworkObjectId
153+
&& x.NetworkId.Name == networkObject1.name));
148154
Assert.That(
149155
objectSpawnedSentMetricValues,
150156
Has.Exactly(1).Matches<ObjectSpawnedEvent>(
151157
x => Client.LocalClientId == x.Connection.Id
152-
&& x.NetworkId.NetworkId == anotherNetworkObject.NetworkObjectId
153-
&& x.NetworkId.Name == anotherNetworkObject.name));
158+
&& x.NetworkId.NetworkId == networkObject2.NetworkObjectId
159+
&& x.NetworkId.Name == networkObject2.name));
154160

155161
Assert.AreEqual(1, objectSpawnedSentMetricValues.Select(x => x.BytesCount).Distinct().Count());
156162
Assert.That(objectSpawnedSentMetricValues.Select(x => x.BytesCount), Has.All.Not.EqualTo(0));
@@ -159,19 +165,14 @@ public IEnumerator TrackMultipleNetworkObjectSpawnSentMetric()
159165
[UnityTest]
160166
public IEnumerator TrackMultipleNetworkObjectDestroySentMetric()
161167
{
162-
m_NewNetworkObject.Spawn();
163-
164-
// Spawn another network object so we can hide multiple.
165-
var gameObject = new GameObject(NewNetworkObjectName);
166-
var anotherNetworkObject = gameObject.AddComponent<NetworkObject>();
167-
anotherNetworkObject.NetworkManagerOwner = Server;
168-
anotherNetworkObject.Spawn();
168+
var networkObject1 = SpawnNetworkObject();
169+
var networkObject2 = SpawnNetworkObject();
169170

170171
yield return new WaitForSeconds(0.2f);
171172

172173
var waitForMetricEvent = new WaitForMetricValues<ObjectDestroyedEvent>(ServerMetrics.Dispatcher, MetricNames.ObjectDestroyedSent);
173174

174-
NetworkObject.NetworkHide(new List<NetworkObject>{m_NewNetworkObject, anotherNetworkObject}, Client.LocalClientId);
175+
NetworkObject.NetworkHide(new List<NetworkObject> { networkObject1, networkObject2 }, Client.LocalClientId);
175176

176177
yield return waitForMetricEvent.WaitForMetricsReceived();
177178

@@ -181,14 +182,14 @@ public IEnumerator TrackMultipleNetworkObjectDestroySentMetric()
181182
objectDestroyedSentMetricValues,
182183
Has.Exactly(1).Matches<ObjectDestroyedEvent>(
183184
x => Client.LocalClientId == x.Connection.Id
184-
&& x.NetworkId.NetworkId == m_NewNetworkObject.NetworkObjectId
185-
&& x.NetworkId.Name == m_NewNetworkObject.name));
185+
&& x.NetworkId.NetworkId == networkObject1.NetworkObjectId
186+
&& x.NetworkId.Name == networkObject1.name));
186187
Assert.That(
187188
objectDestroyedSentMetricValues,
188189
Has.Exactly(1).Matches<ObjectDestroyedEvent>(
189190
x => Client.LocalClientId == x.Connection.Id
190-
&& x.NetworkId.NetworkId == anotherNetworkObject.NetworkObjectId
191-
&& x.NetworkId.Name == anotherNetworkObject.name));
191+
&& x.NetworkId.NetworkId == networkObject2.NetworkObjectId
192+
&& x.NetworkId.Name == networkObject2.name));
192193

193194
Assert.AreEqual(1, objectDestroyedSentMetricValues.Select(x => x.BytesCount).Distinct().Count());
194195
Assert.That(objectDestroyedSentMetricValues.Select(x => x.BytesCount), Has.All.Not.EqualTo(0));

0 commit comments

Comments
 (0)