상속: ClientMessage
예제 #1
0
        public void Store(SpecExecutionCompleted result)
        {
            var queue = _results[result.Id];
            queue.Enqueue(result);

            while (queue.Count > 5)
            {
                queue.Dequeue();
            }
        }
예제 #2
0
        public void Store(SpecExecutionCompleted result)
        {
            var queue = _results[result.Id];

            queue.Enqueue(result);

            while (queue.Count > 5)
            {
                queue.Dequeue();
            }
        }
예제 #3
0
        // The time comparison is off from using DateTime.UtcNow [Fact]
        public void last_counts()
        {
            var c = new ResultsCache();

            var result1 = new SpecExecutionCompleted("foo", new SpecResults(), new Specification());
            c.Store(result1);
            var result2 = new SpecExecutionCompleted("bar", new SpecResults(), new Specification());
            c.Store(result2);
            var result3 = new SpecExecutionCompleted("foo", new SpecResults{Counts = new Counts()}, new Specification());
            c.Store(result3);

            c.LastResultFor("foo")
                .ShouldBe(result3);
        }
        public void retrieve_results_for_a_spec()
        {
            var result1 = new SpecExecutionCompleted("foo", new SpecResults(), new Specification());
            theCache.Store(result1);
            var result2 = new SpecExecutionCompleted("bar", new SpecResults(), new Specification());
            theCache.Store(result2);
            var result3 = new SpecExecutionCompleted("foo", new SpecResults(), new Specification());
            theCache.Store(result3);
            var result4 = new SpecExecutionCompleted("bar", new SpecResults(), new Specification());
            theCache.Store(result4);
            var result5 = new SpecExecutionCompleted("foo", new SpecResults(), new Specification());
            theCache.Store(result5);
            var result6 = new SpecExecutionCompleted("bar", new SpecResults(), new Specification());
            theCache.Store(result6);

            theCache.ResultsFor("foo").ShouldHaveTheSameElementsAs(result5, result3, result1);
            theCache.ResultsFor("bar").ShouldHaveTheSameElementsAs(result6, result4, result2);
        }
        public void write_initial_model()
        {
            // You need to compile everything before trying to use this
            var input = new ProjectInput
            {
                Path =
                    AppDomain.CurrentDomain.BaseDirectory.ParentDirectory()
                        .ParentDirectory()
                        .ParentDirectory()
                        .AppendPath("Storyteller.Samples"),

                ProfileFlag = "Safari"
            };

            using (var controller = input.BuildRemoteController())
            {
                controller.Start(EngineMode.Batch).Wait(30.Seconds());

                var hierarchy = HierarchyLoader.ReadHierarchy(input.Path.AppendPath("Specs"));
                var request = new BatchRunRequest();
                var response = controller.Send(request).AndWaitFor<BatchRunResponse>();

                var cache = new ResultsCache();
                response.Result.records.Each(
                    x =>
                    {
                        var completed = new SpecExecutionCompleted(x.specification.id, x.results, x.specification);
                        cache.Store(completed);
                    });

                response.Result.fixtures = controller.LatestSystemRecycled.fixtures;

                var hierarchyLoaded = new HierarchyLoaded(hierarchy, cache);

                var initialization = new InitialModel(controller.LatestSystemRecycled, hierarchyLoaded)
                {
                    wsAddress = "ws://localhost:" + 8200
                };

                writeResponse(response.Result);
                //writeInitialization(initialization);
            }
        }
        //[Fact]
        public void write_initial_model()
        {
            // You need to compile everything before trying to use this
            var input = new ProjectInput(EngineMode.Batch)
            {
                Path =
                    samplesFolder,
                ProfileFlag = "Safari"
            };

            using (var controller = input.BuildEngine())
            {
                controller.Start().Wait(30.Seconds());

                var hierarchy = HierarchyLoader.ReadHierarchy(input.Path.AppendPath("Specs"));
                var request = new BatchRunRequest
                {
                    SpecPath = input.SpecPath
                };

                var response = controller.Send(request).AndWaitFor<BatchRunResponse>();


                var cache = new ResultsCache();
                response.Result.records.Each(
                    x =>
                    {
                        var completed = new SpecExecutionCompleted(x.specification.id, x.results, x.specification);
                        cache.Store(completed);
                    });

                response.Result.fixtures = controller.LatestSystemRecycled.fixtures;


                var hierarchyLoaded = new HierarchyLoaded(hierarchy, cache);

                writeResponse(response.Result);
                //writeInitialization(initialization);
            }
        }
예제 #7
0
        public void get_all_results()
        {
            var result1 = new SpecExecutionCompleted("foo", new SpecResults(), new Specification());
            theCache.Store(result1);
            var result2 = new SpecExecutionCompleted("bar", new SpecResults(), new Specification());
            theCache.Store(result2);
            var result3 = new SpecExecutionCompleted("foo", new SpecResults(), new Specification());
            theCache.Store(result3);
            var result4 = new SpecExecutionCompleted("bar", new SpecResults(), new Specification());
            theCache.Store(result4);
            var result5 = new SpecExecutionCompleted("foo", new SpecResults(), new Specification());
            theCache.Store(result5);
            var result6 = new SpecExecutionCompleted("bar", new SpecResults(), new Specification());
            theCache.Store(result6);

            var all = theCache.AllResults().ToArray();
            all.Count().ShouldBe(6);
            all.ShouldContain(result1);
            all.ShouldContain(result2);
            all.ShouldContain(result3);
            all.ShouldContain(result4);
            all.ShouldContain(result5);
            all.ShouldContain(result6);
        }
 protected bool Equals(SpecExecutionCompleted other)
 {
     return string.Equals(Id, other.Id) && Equals(Results.Counts, other.Results.Counts);
 }
예제 #9
0
 protected bool Equals(SpecExecutionCompleted other)
 {
     return(string.Equals(Id, other.Id) && Equals(Results.Counts, other.Results.Counts));
 }