public void NatsOperationId_verify_enum() { var names = Enum.GetNames(typeof(NatsOperationId)); foreach (var name in names) { var opId = name switch { "OK" => NatsOperation.GetOpId("+OK"), "ERR" => NatsOperation.GetOpId("-ERR"), _ => NatsOperation.GetOpId(name) }; var n = Enum.GetName(typeof(NatsOperationId), opId); Assert.Equal(name, n); } } }
ValueTask INatsOperationHandler.HandleOperation(NatsOperation op) { switch (op.OpId) { case NatsOperationId.PING: logger.LogTrace("--- ping"); Pong(); break; case NatsOperationId.PONG: logger.LogTrace("--- pong"); break; case NatsOperationId.OK: logger.LogTrace("--- OK"); break; case NatsOperationId.ERR: var err = (ErrOperation)op.Op; logger.LogTrace($"--- ERR: {err}"); break; case NatsOperationId.INFO: Info = (ServerInfo)op.Op; logger.LogTrace($"--- INFO: {Info}"); break; case NatsOperationId.MSG: var msg = (MsgOperation)op.Op; logger.LogTrace($"--- MSG: {op.Op}"); return(subscriptions.InvokeAsync(msg)); default: logger.LogError("--- UNSUPPORTED - {OpId}", op.OpId); break; } return(default);
public void NameToId(string op) { output.WriteLine($"{op} - {NatsOperation.GetOpId(op)}"); Assert.Equal(NatsOperation.GetOpId(op), NatsOperation.GetOpId(op.ToLowerInvariant())); }