public void DetectErrors(string label) { var s = new TestScheduler(); var i = InvalidSequences[label]; var a = s.LetRun(() => Observable.Return(i, s).DefragmentData()); Assert.IsTrue(Dbg.Errored(a.Messages), Dbg.Show(a)); }
public void DetectErrorStates(string label) { var s = new TestScheduler(); var i = s.EvenlySpacedHot(10, 10, BadInput[label]); var a = s.LetRun(() => Perf.MapToFrame(i)); var r = Dbg.Errored(a.Messages); Assert.IsTrue(r, $"\n{Dbg.Show(a)}"); }
public void DeserializeFrame(int l) { var s = new TestScheduler(); var c = MapToFramesCases[l]; var i = s.EvenlySpacedHot(10, 10, c.Input.Concat(CloseBytes)); var e = new[] { c.Output, CloseFrame }; var a = s.LetRun(() => i.MapToFrame()); var r = a.GetValues(); Assert.IsTrue(e.SequenceEqual(r, WSFrame.ByCodeAndPayload) && Dbg.Completed(a.Messages), $"{Environment.NewLine}{Dbg.Show(a)}"); }
//[Ignore] public void MapFrameToByteBuffer(int l) { const int repeat = 3; var s = new TestScheduler(); var i = Enumerable.Repeat(MapToByteBufferCases[l].Input, repeat); var e = Enumerable.Repeat(MapToByteBufferCases[l].Output, repeat); var a = s.LetRun(() => s.EvenlySpacedHot(10, 10, i).Take(repeat) .MapToBuffer()); var r = a.GetValues(); Assert.IsTrue( condition: r.Count() == e.Count() && r.Zip(e, (act, exp) => act.SequenceEqual(exp)).All(x => x), message: Dbg.Show(a)); }
public void ValidateValidSequence() { var s = new TestScheduler(); var i = s.EvenlySpacedHot(10, 10, ValidSequence); var e = DefragmentedValidSequence; var a = s.LetRun(() => i.DefragmentData().Take(1)); var rs = a.GetValues(); Assert.IsTrue(rs.Count() == 1, Dbg.Show(a)); var r = rs.Single(); Assert.IsTrue( r.OpCode == e.OpCode && r.Payload.SequenceEqual(e.Payload), ShowError(a)); }
static string ShowError(ITestableObserver <WSFrame> fs) => Dbg.Errored(fs.Messages) ? fs.Messages.Select(x => x.Value?.Exception?.Message ?? "").Single() : Dbg.Show(fs);