public void CanUseTestObserver() { const string MailBoxName = "box"; const string ErrorText = "error"; using (var mailBox = new ProcessMailBox(MailBoxName, TimeSpan.FromMilliseconds(-1))) { using (var observer = new TestObserver(MailBoxName)) { var list = new List <object>(); var taskObserve = Task.Factory.StartNew( () => { observer.OnNext(PerTestResultGenerator.CreatePerfResult()); observer.OnError(new Exception(ErrorText)); observer.OnCompleted(); }); var taskMailBox = Task.Factory.StartNew( () => { list.Add(mailBox.Content); list.Add(mailBox.Content); list.Add(mailBox.Content); }); Task.WaitAll(new[] { taskObserve, taskMailBox }, TimeSpan.FromSeconds(20)).Should().BeTrue(); list.Count.Should().Be(3); list[0].Should().Be(PerTestResultGenerator.CreatePerfResult()); list[1].Should().Be(new ExperimentError(new Exception(ErrorText))); list[2].Should().Be(new ExperimentCompleted()); } } }
public void CanSerializeDeserializePerfResult() { var perfResult = PerTestResultGenerator.CreatePerfResult(); var formatter = new BinaryFormatter(); var binaryData = new byte[1024 * 5]; object deserializedData; using (var ms = new MemoryStream(binaryData, 0, 1024 * 5, true, true)) { formatter.Serialize(ms, perfResult); ms.Seek(0, SeekOrigin.Begin); deserializedData = formatter.Deserialize(ms); } deserializedData.Should().NotBeNull(); deserializedData.Should().Be(perfResult); deserializedData.Should().NotBeSameAs(perfResult); }