Exemplo n.º 1
0
        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());
                }
            }
        }
Exemplo n.º 2
0
        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);
        }