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 CanSerializeDeserializeExperimentCompleted() { var experimentCompleted = PerTestResultGenerator.CreateExperimentCompleted(); 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, experimentCompleted); ms.Seek(0, SeekOrigin.Begin); deserializedData = formatter.Deserialize(ms); } deserializedData.Should().NotBeNull(); deserializedData.Should().Be(experimentCompleted); deserializedData.Should().NotBeSameAs(experimentCompleted); }