public void AutomaticallyFindRegistryFromAssembly()
        {
            var container = new Container(x =>
            {
                x.Scan(s =>
                {
                    s.AssemblyContainingType<RedGreenRegistry>();
                    s.LookForRegistries();
                });
            });

            var colors = new List<string>();
            foreach (var widget in container.GetAllInstances<IWidget>())
            {
                if (!(widget is ColorWidget))
                {
                    continue;
                }

                var color = (ColorWidget)widget;
                colors.Add(color.Color);
            }

            colors.Sort();
            colors.ShouldHaveTheSameElementsAs("Black", "Blue", "Brown", "Green", "Red", "Yellow");
        }
        public async void from_configuration_async()
        {
            var events = new List <object>();

            StoreOptions(_ =>
            {
                _.AutoCreateSchemaObjects = AutoCreate.All;
                _.Events.InlineProjections.AggregateStreamsWith <QuestParty>();
                _.Events.ProjectView <PersistedView>()
                .ProjectEvent <QuestStarted>((view, @event) => { events.Add(@event); })
                .ProjectEvent <MembersJoined>(e => e.QuestId, (view, @event) => { events.Add(@event); })
                .ProjectEvent <MonsterSlayed>(e => e.QuestId, (view, @event) => { events.Add(@event); });
            });

            theSession.Events.StartStream <QuestParty>(streamId, started, joined);
            await theSession.SaveChangesAsync();

            theSession.Events.StartStream <Monster>(slayed1, slayed2);
            await theSession.SaveChangesAsync();

            theSession.Events.Append(streamId, joined2);
            await theSession.SaveChangesAsync();

            events.Count.ShouldBe(5);
            events.ShouldHaveTheSameElementsAs(started, joined, slayed1, slayed2, joined2);
        }
        public void add_many_and_range()
        {
            var list = new List<string>();
            list.AddMany("a", "b", "c");

            list.ShouldHaveTheSameElementsAs("a", "b", "c");
        }
示例#4
0
        public void AutomaticallyFindRegistryFromAssembly()
        {
            var container = new Container(x =>
            {
                x.Scan(s =>
                {
                    s.AssemblyContainingType <RedGreenRegistry>();
                    s.LookForRegistries();
                });
            });

            var colors = new List <string>();

            foreach (var widget in container.GetAllInstances <IWidget>())
            {
                if (!(widget is ColorWidget))
                {
                    continue;
                }

                var color = (ColorWidget)widget;
                colors.Add(color.Color);
            }

            colors.Sort();
            colors.ShouldHaveTheSameElementsAs("Black", "Blue", "Brown", "Green", "Red", "Yellow");
        }
        public void add_many_and_range()
        {
            var list = new List <string>();

            list.AddMany("a", "b", "c");

            list.ShouldHaveTheSameElementsAs("a", "b", "c");
        }
示例#6
0
        public void the_grammars_from_the_extender_fixture_should_be_imported_to_the_fixture()
        {
            var list = new List <string>();

            theFixture.ForEachGrammar((name, g) => list.Add(name));

            list.ShouldHaveTheSameElementsAs("Go", "Go2", "Go3", "Go4", "Go5", "Go6");
        }
示例#7
0
        public void reads_the_projects()
        {
            var projects = new List <string>();

            theSolutionFiles.ForProjects(theSolution, projects.Add);

            var project1 = Path.Combine("SolutionFiles", "src", "Project1", "Project1.csproj");
            var project2 = Path.Combine("SolutionFiles", "src", "Project2", "Project2.csproj");

            projects.ShouldHaveTheSameElementsAs(project1, project2);
        }
示例#8
0
        public void listviews_returns_views_in_prefixed_relative_path()
        {
            var foundViews = new List <string>();

            _hostHomeView.ViewPath.getPathParts()
            .Union(new[] { Constants.Shared })
            .Each(path => foundViews.AddRange(_viewFolder.ListViews(path)));

            foundViews.ShouldHaveTheSameElementsAs(
                _hostHomeView.ViewPath,
                _hostApplicationView.ViewPath,
                _hostFooterPartialView.ViewPath);
        }
示例#9
0
        public void for_each_child()
        {
            var node = new JsonNode("Test");

            node.AddChild("a");
            node.AddChild("b");
            node.AddChild("c");

            var list = new List <string>();

            node.ForEachChild(x => list.Add(x.Name));

            list.ShouldHaveTheSameElementsAs("a", "b", "c");
        }
示例#10
0
        public void get_the_file_names()
        {
            writeText(FileSystem.Combine(theDataFolder, "st", "a.txt"), "a");
            writeText(FileSystem.Combine(theDataFolder, "st", "b.txt"), "b");
            writeText(FileSystem.Combine(theDataFolder, "c.txt"), "c");
            writeText(FileSystem.Combine(theDataFolder, "st", "d.t2"), "d");
            writeText(FileSystem.Combine(theDataFolder, "e.t2"), "e");

            var list = new List <string>();

            ((IPackageInfo)thePackage).ForData("*.*", (name, stream) => list.Add(name));

            list.Sort();
            list.ShouldHaveTheSameElementsAs("c.txt", "e.t2", join("st", "a.txt"), join("st", "b.txt"), join("st", "d.t2"));
        }
示例#11
0
        public void on_addition_should_fire_when_a_cache_adds_something_from_its_on_missing_catch()
        {
            var list = new List <int>();
            int x    = 0;

            cache.OnMissing = key => ++ x;

            cache.OnAddition = number => list.Add(number);

            cache["a"] = 100;
            cache["b"].ShouldEqual(1);
            cache["c"].ShouldEqual(2);

            list.ShouldHaveTheSameElementsAs(100, 1, 2);
        }
        public void AssertMatch(TreeNode hierarchyNode)
        {
            List <TreeNodeToken> actual = getActual(hierarchyNode);

            try
            {
                Assert.AreEqual(_tokens.Count, actual.Count, "the count");
                actual.ShouldHaveTheSameElementsAs((IList)_tokens);
            }
            catch (Exception)
            {
                actual.ForEach(x => Debug.WriteLine(x));

                throw;
            }
        }
示例#13
0
        public void FindRegistriesWithinPluginGraphSeal()
        {
            var scanner = new AssemblyScanner();

            scanner.AssemblyContainingType(typeof(RedGreenRegistry));
            scanner.LookForRegistries();

            var graph = scanner.ToPluginGraph();

            var colors = new List <string>();
            var family = graph.Families[typeof(IWidget)];

            family.Instances.Each(instance => colors.Add(instance.Name));

            colors.Sort();
            colors.ShouldHaveTheSameElementsAs("Black", "Blue", "Brown", "Green", "Red", "Yellow");
        }
示例#14
0
        public void read_lines_to_an_action()
        {
            var list = new List <string>();

            Action <string> action = x => list.Add(x);

            var text = @"a
b
c
d
e
";


            text.ReadLines(action);

            list.ShouldHaveTheSameElementsAs("a", "b", "c", "d", "e");
        }
示例#15
0
        public void can_iterate_through_the_screens()
        {
            screens.Add(screen1);
            screens.Add(screen2);
            screens.Add(screen3);
            screens.Add(screen4);

            var listOfScreens = new List <IScreen>(screens.AllScreens);

            IList expected = new List <IScreen>
            {
                screen1,
                screen2,
                screen3,
                screen4
            };

            listOfScreens.ShouldHaveTheSameElementsAs(expected);
        }
示例#16
0
        public void binds_properties_after_reading()
        {
            var calls = new List <string>();

            MockFor <IFormatter>().Stub(x => x.Read <Address>()).Callback(() =>
            {
                calls.Add("Formatter");
                return(true);
            });

            MockFor <IObjectResolver>()
            .Stub(x => x.BindProperties((Address)null, null))
            .IgnoreArguments()
            .Callback <Address, IBindingContext>((model, context) =>
            {
                calls.Add("Binder");
                return(true);
            });

            ClassUnderTest.Read("anything");
            calls.ShouldHaveTheSameElementsAs("Formatter", "Binder");
        }
示例#17
0
        public void should_apply_the_extender_to_fixtures()
        {
            var fixtureRegistry = new FixtureRegistry();

            fixtureRegistry.AddFixture <FakeFixture>();
            fixtureRegistry.RegisterServices(r =>
            {
                r.For <IExtender <FakeFixture> >().AddInstances(x =>
                {
                    x.Type <FakeExtenderFixture>();
                    x.Type <FakeExtender2Fixture>();
                });
            });

            var theFixture = fixtureRegistry.BuildContainer().GetInstance <FakeFixture>();

            var list = new List <string>();

            theFixture.ForEachGrammar((name, g) => list.Add(name));

            list.ShouldHaveTheSameElementsAs("Go", "Go2", "Go3", "Go4", "Go5", "Go6");
        }
示例#18
0
        public void on_addition_should_fire_when_a_cache_adds_something_from_its_on_missing_catch()
        {
            var list = new List<int>();
            int x = 0;

            cache.OnMissing = key => ++x;

            cache.OnAddition = number => list.Add(number);

            cache["a"] = 100;
            cache["b"].ShouldBe(1);
            cache["c"].ShouldBe(2);

            list.ShouldHaveTheSameElementsAs(100, 1, 2);
        }
示例#19
0
 public void should_leave_nodes_in_correct_orderd()
 {
     _tree = Tree(1, Tree(2, Tree(3), Tree(4)), Tree(5));
     _tree.TraverseDfs(this).ToList();
     _leaved.ShouldHaveTheSameElementsAs(3, 4, 2, 5, 1);
 }
示例#20
0
 public void should_unnest_elements_in_proper_order()
 {
     _unnested.ShouldHaveTheSameElementsAs(new[] { 2, DONT_GO_TO_CHILDREN, STOP_ON_THIS_NODE, 1 }.Select(i => i));
 }