コード例 #1
0
        public void can_display_updated_room_types()
        {
            //given
            var rt1    = new RoomTypeAdded(Guid.NewGuid(), "1King", "test description");
            var rt2    = new RoomTypeAdded(Guid.NewGuid(), "2Queen", "test description");
            var rt3    = new RoomTypeAdded(Guid.NewGuid(), "3Econ", "test description");
            var update = new RoomTypeDescriptionChanged(rt1.TypeId, "1Super");
            //when
            var rm = new RoomTypeReader(() => null, new SimpleRepo(null, "Administration.Blueprint.Events", "Administration").Deserialize);

            rm.Apply(rt1);
            rm.Apply(rt2);
            rm.Apply(rt3);
            rm.Apply(update);
            //Then
            Assert.Collection(rm.Current,
                              i => {
                var item = i as RoomTypeItem;
                Assert.NotNull(item);
                Assert.Equal(rt2.TypeId, item.Id);
                Assert.Equal(rt2.Description, item.Description, StringComparer.Ordinal);
            }, i => {
                var item = i as RoomTypeItem;
                Assert.NotNull(item);
                Assert.Equal(rt3.TypeId, item.Id);
                Assert.Equal(rt3.Description, item.Description, StringComparer.Ordinal);
            },
                              i => {
                var item = i as RoomTypeItem;
                Assert.NotNull(item);
                Assert.Equal(rt1.TypeId, item.Id);
                Assert.Equal(update.Description, item.Description, StringComparer.Ordinal);
            });
        }
コード例 #2
0
        static void Main(string[] args)
        {
            //Bootstrap
            var settings = ConnectionSettings.Create()
                           .SetDefaultUserCredentials(new UserCredentials("admin", "changeit"))
                           .KeepReconnecting()
                           .KeepRetrying()
                           //.UseConsoleLogger()
                           .Build();
            var conn = EventStoreConnection.Create(settings, new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1113));

            conn.ConnectAsync().Wait();

            var eventNamespace = "Administration.EventModel.Events";
            var eventAssembly  = "Administration";

            var repo = new SimpleRepo(conn, eventNamespace, eventAssembly);

            var roomTypeRm = new RoomTypeReader(() => conn, repo.Deserialize);

            var mainBus = new SimpleBus();

            var adminSvc = new AdminSvc(repo);

            mainBus.Subscribe <AddRoomType>(adminSvc);
            mainBus.Subscribe <AddRoom>(adminSvc);

            var view       = new ConsoleView();
            var controller = new Controller(view, mainBus);

            roomTypeRm.Subscribe(model => view.RoomSummaries = model);

            view.Redraw();
            roomTypeRm.Start();
            controller.StartCommandLoop();

            Console.WriteLine("press enter to exit");
            Console.ReadLine();
        }