private static Type GetResponseType(ResponseDescriptor response) { return(response.HttpStatus switch { var x when x >= 200 && x <= 299 => response.Type, 422 => typeof(ValidationProblemDetails), _ => typeof(ProblemDetails) });
public void Should_To_ResponseDescriptor(byte paramByte1, byte paramByte2, byte paramByte3, byte paramByte4, byte paramByte5, UInt32 dataResponseLength, SendMode sendMode, DataType dataType) { ResponseDescriptor result = ResponseDescriptorHelper.ToResponseDescriptor(new [] { paramByte1, paramByte2, paramByte3, paramByte4, paramByte5 }); Assert.Equal(dataResponseLength, result.DataResponseLength); Assert.Equal(sendMode, result.SendMode); Assert.Equal(dataType, result.DataType); }
public IObservable <ResponseDescriptor> Process(IObservable <IList <ResponseId> > source) { return(source.Select(responses => { var stats = new ResponseDescriptor(); foreach (var response in responses) { UpdateStatistics(ref stats, response); } return stats; })); }
void UpdateStatistics(ref ResponseDescriptor stats, ResponseId response) { stats.Epoch++; switch (response) { case ResponseId.Hit: stats.Hits++; break; case ResponseId.Miss: stats.Misses++; break; case ResponseId.FalseAlarm: stats.FalseAlarms++; break; case ResponseId.CorrectRejection: stats.CorrectRejections++; break; } }
void UpdateTotalStatistics(ref ResponseDescriptor stats, ResponseId response) { stats.Epoch++; switch (response) { case ResponseId.Hit: stats.TotalGoTrials++; stats.TotalHits++; break; case ResponseId.Miss: stats.TotalGoTrials++; break; case ResponseId.PullPenalty: stats.TotalGoTrials++; break; case ResponseId.FalseAlarm: stats.TotalNoGoTrials++; break; case ResponseId.CorrectRejection: stats.TotalNoGoTrials++; break; } }
public static ResponseDescriptor ToResponseDescriptor(byte[] data) { if (data.Length < Constants.ResponseDescriptorLength) { throw new Exception("RESULT_INVALID_ANS_TYPE"); } //Check Validity if (!IsValid(data[0], data[1])) { throw new Exception("RESULT_INVALID_ANS_TYPE"); } Tuple <uint, SendMode> tuple = GetDataResponseLengthAndSendMode(data); ResponseDescriptor responseDescriptor = new ResponseDescriptor(); responseDescriptor.DataResponseLength = tuple.Item1; responseDescriptor.SendMode = tuple.Item2; responseDescriptor.DataType = (DataType)data[6]; return(responseDescriptor); }