public void OnEntityQueryResponse_should_add_received_responses_to_entity() { var entity = SetupTestEntity(); var emptyRequest = new WorldCommands.EntityQuery.Request(); var context = "Some context"; entityQueryStorage.CommandRequestsInFlight.Add(TestCommandRequestId, new CommandRequestStore <WorldCommands.EntityQuery.Request>(entity, emptyRequest, context, TestCommandRequestId)); using (var wrappedOp = WorkerOpFactory.CreateEntityQueryResponseOp(TestCommandRequestId)) { receiveSystem.OnEntityQueryResponse(wrappedOp.Op); Assert.IsTrue(entityManager.HasComponent <WorldCommands.EntityQuery.CommandResponses>(entity)); var responses = entityManager.GetComponentData <WorldCommands.EntityQuery.CommandResponses>(entity); var count = 0; Assert.DoesNotThrow(() => { count = responses.Responses.Count; }); Assert.AreEqual(1, count); var response = responses.Responses[0]; Assert.AreEqual(emptyRequest, response.RequestPayload); Assert.AreEqual(context, response.Context); Assert.AreEqual(TestCommandRequestId, response.RequestId); Assert.AreEqual(wrappedOp.Op.StatusCode, response.StatusCode); Assert.AreEqual(wrappedOp.Op.Message, response.Message); Assert.AreEqual(wrappedOp.Op.Result, response.Result); Assert.AreEqual(wrappedOp.Op.ResultCount, response.ResultCount); } }
public void OnEntityQueryResponse_should_add_received_responses_to_entity() { var entity = SetupTestEntity(); var emptyRequest = new WorldCommands.EntityQuery.Request(); var context = "Some context"; entityQueryStorage.CommandRequestsInFlight.Add(TestCommandRequestId, new CommandRequestStore <WorldCommands.EntityQuery.Request>(entity, emptyRequest, context, TestCommandRequestId)); using (var wrappedOp = WorkerOpFactory.CreateEntityQueryResponseOp(TestCommandRequestId)) { receiveSystem.OnEntityQueryResponse(wrappedOp.Op); Assert.IsTrue(entityManager.HasComponent <WorldCommands.EntityQuery.CommandResponses>(entity)); var responses = entityManager.GetComponentData <WorldCommands.EntityQuery.CommandResponses>(entity); var count = 0; Assert.DoesNotThrow(() => { count = responses.Responses.Count; }); Assert.AreEqual(1, count); var response = responses.Responses[0]; Assert.AreEqual(emptyRequest, response.RequestPayload); Assert.AreEqual(context, response.Context); Assert.AreEqual(TestCommandRequestId, response.RequestId); Assert.AreEqual(wrappedOp.Op.StatusCode, response.StatusCode); Assert.AreEqual(wrappedOp.Op.Message, response.Message); Assert.AreEqual(wrappedOp.Op.ResultCount, response.ResultCount); // Check that the result and the op contain snapshots of the same entities // Or that they are both null if one of them is null // todo UTY-1361 clean this up if (wrappedOp.Op.Result == null) { Assert.IsNull(response.Result); } else { CollectionAssert.AreEquivalent(wrappedOp.Op.Result.Keys, response.Result.Keys); } } }