public void OnReserveEntityIdsResponse_should_add_received_responses_to_entity() { var entity = SetupTestEntity(); var emptyRequest = new WorldCommands.ReserveEntityIds.Request(); var context = "Some context"; reserveEntityIdsStorage.CommandRequestsInFlight.Add(TestCommandRequestId, new CommandRequestStore <WorldCommands.ReserveEntityIds.Request>(entity, emptyRequest, context, TestCommandRequestId)); using (var wrappedOp = WorkerOpFactory.CreateReserveEntityIdsResponseOp(TestCommandRequestId)) { receiveSystem.OnReserveEntityIdsResponse(wrappedOp.Op); Assert.IsTrue(entityManager.HasComponent <WorldCommands.ReserveEntityIds.CommandResponses>(entity)); var responses = entityManager.GetComponentData <WorldCommands.ReserveEntityIds.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.FirstEntityId, response.FirstEntityId); Assert.AreEqual(wrappedOp.Op.NumberOfEntityIds, response.NumberOfEntityIds); } }
public void OnReserveEntityIdsResponse_should_error_if_request_id_not_found() { using (var wrappedOp = WorkerOpFactory.CreateReserveEntityIdsResponseOp(TestCommandRequestId)) { Assert.Throws <UnknownRequestIdException>(() => { receiveSystem.OnReserveEntityIdsResponse(wrappedOp.Op); }); } }
public void OnReserveEntityIdsResponse_should_log_if_corresponding_entity_not_found() { var emptyRequest = new WorldCommands.ReserveEntityIds.Request(); reserveEntityIdsStorage.CommandRequestsInFlight.Add(TestCommandRequestId, new CommandRequestStore <WorldCommands.ReserveEntityIds.Request>(Entity.Null, emptyRequest, null, TestCommandRequestId)); using (var wrappedOp = WorkerOpFactory.CreateReserveEntityIdsResponseOp(TestCommandRequestId)) { using (var expectingScope = logDispatcher.EnterExpectingScope()) { expectingScope.Expect(LogType.Log, LoggingUtils.LoggerName, "Op"); receiveSystem.OnReserveEntityIdsResponse(wrappedOp.Op); } } }