コード例 #1
0
        public Example8ViewModel()
        {
            Quantity = Validator.Build <int>()
                       .Must(value => value > 0, "Need to specify the quantity");

            var monkeyList = new List <string>();

            monkeyList.Add("Baboon");
            monkeyList.Add("Capuchin Monkey");
            monkeyList.Add("Blue Monkey");
            monkeyList.Add("Squirrel Monkey");
            monkeyList.Add("Golden Lion Tamarin");
            monkeyList.Add("Howler Monkey");
            monkeyList.Add("Japanese Macaque");

            MonkeyList = ValidatorList.Build <string>()
                         .AddItemsSource(monkeyList)
                         .IsRequired("An item is required.")
                         .Must(value =>
            {
                if (MonkeyList.SelectedIndex == 2 && Quantity.Value < 5)    // == blue monkey
                {
                    return(false);
                }

                return(true);
            }, "Minimum quantity of this monkey is 5");

            UnitValidation = new ValidationUnit(Quantity, MonkeyList);
        }
コード例 #2
0
 public void TestNumberForLesserCondition()
 {
     IValidatorList<int> numberValidator2 = new ValidatorList<int>();
       numberValidator2.Add(typeof(MyNumberValidator), () => new NumberValidationParam<int>(11));
       var numberValidation = ValidationContext.Validate(Validation.On(10)
                                                            .For(numberValidator2)
                                                            .ValidationStyle(ValidationStyle.Any));
       Assert.IsTrue(numberValidation);
 }
コード例 #3
0
        public void TestEmailValidation()
        {
            IValidatorList<string> emailValidator = new ValidatorList<string>();
              emailValidator.Add(new EmailValidator());

              const string EmailAddress = "*****@*****.**";
              var emailValidation = ValidationContext.Validate(Validation.On(EmailAddress)
                                                                 .For(emailValidator)
                                                                 .ValidationStyle(ValidationStyle.Any));
              Assert.IsTrue(emailValidation);
        }
コード例 #4
0
        public void TestNumberForGreaterCondition()
        {
            IValidatorList<int> numberValidator = new ValidatorList<int>();
              MyNumberValidator myNumberValidator = new MyNumberValidator(new NumberValidationParam<int>(9));
              numberValidator.Add(myNumberValidator);

              var numberValidation = ValidationContext.Validate(Validation.On(10)
                                                                  .For(numberValidator)
                                                                  .ValidationStyle(ValidationStyle.Any));

              Assert.IsFalse(numberValidation);
        }
コード例 #5
0
        public void TestEmailBlockExecutionForStringResult()
        {
            IEmailValidationParm emailValidationParm = new EmailValidationParm();
              IValidatorList<string> emailValidator = new ValidatorList<string>();
              emailValidator.Add(new EmailExecuter4());
              emailValidator.Add(typeof(EmailExecuter3), () => emailValidationParm);

              const string EmailAddress = "*****@*****.**";
              emailValidationParm.EmailAddress = "*****@*****.**";
              var emailValidation = ValidationContext.Execute<string, string>(Validation.On(EmailAddress)
                                                                              .For(emailValidator)
                                                                              .ValidationStyle(ValidationStyle.Any));
              Assert.AreEqual(emailValidation, "Pass");
        }
コード例 #6
0
        public void TestEmailBlockExecution()
        {
            IEmailValidationParm emailValidationParm = new EmailValidationParm();
              IValidatorList<string> emailValidator = new ValidatorList<string>();
              emailValidator.Add(typeof(EmailExecuter1), () => emailValidationParm);
              emailValidator.Add(new EmailExecuter2());

              const string EmailAddress = "*****@*****.**";
              emailValidationParm.EmailAddress = "*****@*****.**";
              var emailValidation = ValidationContext.Execute<string, bool>(Validation.On(EmailAddress)
                                                                              .For(emailValidator)
                                                                              .ValidationStyle(ValidationStyle.Any));
              Assert.IsTrue(emailValidation);
        }
コード例 #7
0
ファイル: GameHost.cs プロジェクト: PsychoTeras/RatKing
        public GameHost()
        {
            World = new GameWorld();
            World.LoadMap();

            TCPServerSettings setting = new TCPServerSettings(
                NET_MAX_CONNECTIONS, NET_SOCKET_BACKLOG, NET_MAX_ACCEPT_OPS,
                NET_BUFFER_SIZE, NET_PORT);

            _netServer = new TCPServer(setting);
            _netServer.ClientConnected        += TCPClientConnected;
            _netServer.ClientDisonnected      += TCPClientDisonnected;
            _netServer.ClientDataReceived     += TCPClientDataReceived;
            _netServer.ClientDataReceiveError += TCPClientDataReceiveError;
            _netServer.ClientDataSent         += TCPClientDataSent;
            _netServer.ClientDataSendError    += NetServerOnClientDataSendError;
            _netServer.Start();

            _loggedPlayers = new Dictionary <int, int>();
            _tcpClients    = new Dictionary <int, int>();
            _playerClients = new Dictionary <int, int>();

            _responses = new List <Pair <int, BaseResponse> >();

            _actions = new Dictionary <PacketType, OnAcceptPacket <BasePacket> >
            {
                { PacketType.UserLogin, Login },
                { PacketType.UserEnter, Enter },
                { PacketType.UserLogout, Logout },

                { PacketType.PlayerRotate, PlayerRotate },
                { PacketType.PlayerMove, PlayerMove },

                { PacketType.MapData, MapData }
            };

            _validators = new ValidatorList
            {
                (_vCheckPosition = new VCheckPosition(this))
            };

            _responsesPool = new Pool <Pair <int, BaseResponse> >(1000, true);

            _threadSendResponses              = new Thread(SendResponsesProc);
            _threadSendResponses.Priority     = ThreadPriority.AboveNormal;
            _threadSendResponses.IsBackground = true;
            _threadSendResponses.Start();
        }
コード例 #8
0
ファイル: GameHost.cs プロジェクト: PsychoTeras/RatKing
        public GameHost()
        {
            World = new GameWorld();
            World.LoadMap();

            TCPServerSettings setting = new TCPServerSettings(
                NET_MAX_CONNECTIONS, NET_SOCKET_BACKLOG, NET_MAX_ACCEPT_OPS, 
                NET_BUFFER_SIZE, NET_PORT);

            _netServer = new TCPServer(setting);
            _netServer.ClientConnected += TCPClientConnected;
            _netServer.ClientDisonnected += TCPClientDisonnected;
            _netServer.ClientDataReceived += TCPClientDataReceived;
            _netServer.ClientDataReceiveError += TCPClientDataReceiveError;
            _netServer.ClientDataSent += TCPClientDataSent;
            _netServer.ClientDataSendError += NetServerOnClientDataSendError;
            _netServer.Start();

            _loggedPlayers = new Dictionary<int, int>();
            _tcpClients = new Dictionary<int, int>();
            _playerClients = new Dictionary<int, int>();

            _responses = new List<Pair<int, BaseResponse>>();

            _actions = new Dictionary<PacketType, OnAcceptPacket<BasePacket>>
            {
                {PacketType.UserLogin, Login},
                {PacketType.UserEnter, Enter},
                {PacketType.UserLogout, Logout},

                {PacketType.PlayerRotate, PlayerRotate},
                {PacketType.PlayerMove, PlayerMove},

                {PacketType.MapData, MapData}
            };

            _validators = new ValidatorList
            {
                (_vCheckPosition = new VCheckPosition(this))
            };

            _responsesPool = new Pool<Pair<int, BaseResponse>>(1000, true);

            _threadSendResponses = new Thread(SendResponsesProc);
            _threadSendResponses.Priority = ThreadPriority.AboveNormal;
            _threadSendResponses.IsBackground = true;
            _threadSendResponses.Start();
        }