public void Create_WithValid_ShouldInitializeAnIGameSetting(int min, int max)
        {
            var factory = new GameSettingFactory();

            var result = factory.Create((uint)min, (uint)max);

            Assert.AreEqual(min, result.MinimumPlayerByTeam);
            Assert.AreEqual(max, result.MaximumPlayerByTeam);
        }
Пример #2
0
        public IContest Create(CreateContestCmd cmd)
        {
            return(WithTransaction(() =>
            {
                var address = AddressFactory.Create(cmd.StreetNumber, cmd.Street, cmd.ZipCode, cmd.City);
                UnitOfWorks.Save(address);

                var areaType = cmd.Indoor ? AreaType.Indoor : AreaType.Outdoor;
                var physicalSettings = PhysicalSetting.Create(address, areaType, cmd.CountField);
                UnitOfWorks.Save(physicalSettings);

                var gameSetting = GameSettingFactory.Create(cmd.CountMinPlayerByTeam, cmd.CountMaxPlayerByTeam);
                UnitOfWorks.Save(gameSetting);

                var newContest = Domain.Games.Contest.Create(cmd.Date, physicalSettings, gameSetting);
                UnitOfWorks.Save(newContest.EliminationSetting.MatchSetting);
                UnitOfWorks.Save(newContest.EliminationSetting);
                UnitOfWorks.Save(newContest);

                return newContest;
            }));
        }
        public void Create_WithLessMaxThanMinPlayer_ShouldThrowArgumentException()
        {
            var factory = new GameSettingFactory();

            Assert.Throws <ArgumentException>(() => factory.Create(20, 10));
        }
        public void Create_WithZeroMaximumPlayer_ShouldThrowArgumentException()
        {
            var factory = new GameSettingFactory();

            Assert.Throws <ArgumentException>(() => factory.Create(10, 0));
        }