public void FindAllExperimentsReturnsAllExperiments() { //arrange _commands.Reset(); // - experiment one _commands.GetOrCreateExperiment("Experiment1", new[] { "Experiment One", "Bar" }); _commands.GetOrCreateParticipationRecord("Experiment1", () => "Experiment One", "User 1"); // - experiment two _commands.GetOrCreateExperiment("Experiment2", new[] { "Foo", "Experiment Two" }); _commands.GetOrCreateParticipationRecord("Experiment2", () => "Experiment Two", "User 1"); _commands.GetOrCreateParticipationRecord("Experiment2", () => "Experiment Two", "User 2"); // - experiment three _commands.GetOrCreateExperiment("Experiment3", new[] { "Foo", "Bar" }); var queries = new XmlQueriesStub(_commands.SavedXml); //act var result = queries.FindAllExperiments(); //assert result.Count().ShouldEqual(3); result.ElementAt(0).Participants.Count().ShouldEqual(1); result.ElementAt(1).Participants.Count().ShouldEqual(2); result.ElementAt(2).Participants.Count().ShouldEqual(0); }