Ejemplo n.º 1
0
        protected override void WndProc(ref Message m)
        {
            base.WndProc(ref m);

            //Shortcut if disabled
            if (!HandleMouseMove)
            {
                return;
            }

            //Respond to hit test messages with Caption if mouse on glass: will enable form moving/maximization
            //as if mouse is on form caption.
            if (m.Msg == Messaging.WM_NCHITTEST && m.Result.ToInt32() == Messaging.HTCLIENT)
            {
                uint   lparam = (uint)m.LParam.ToInt32();
                ushort x      = IntHelpers.LowWord(lparam);
                ushort y      = IntHelpers.HighWord(lparam);

                //Check if mouse pointer is on glass part of form
                var clientPoint = this.PointToClient(new Point(x, y));
                if (_glassMargins.IsOutsideMargins(clientPoint, ClientSize))
                {
                    m.Result = (IntPtr)Messaging.HTCAPTION;
                    return;
                }
            }
        }
Ejemplo n.º 2
0
        protected override void WndProc(ref Message m)
        {
            base.WndProc(ref m);

            if (!HandleMouseOnGlass || !_glassEnabled)
            {
                return;
            }

            // Respond to hit test messages with Caption if mouse on glass:
            // this automatically enables form dragging on glass
            if (m.Msg == (int)WindowMessage.WM_NCHITTEST &&
                m.Result.ToInt32() == (int)HitTest.HTCLIENT)
            {
                // Check if mouse pointer is on glass part of form
                if (_glassFull)
                {
                    m.Result = (IntPtr)HitTest.HTCAPTION;
                }
                else
                {
                    uint   lparam = (uint)m.LParam.ToInt32();
                    ushort x      = IntHelpers.LowWord(lparam);
                    ushort y      = IntHelpers.HighWord(lparam);

                    var clientPoint = PointToClient(new System.Drawing.Point(x, y));

                    /*if (_glassMargins.IsOutside(clientPoint, ClientSize)) {
                     *  m.Result = (IntPtr)HitTest.HTCAPTION;
                     * }*/
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Returns a random character
        /// </summary>
        /// <returns>System.Char.</returns>
        public static char GetRandomCharacter()
        {
            var chars = @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!§$%&/()=_?#1234567890";

            var randomNumber = IntHelpers.GetRandomNumber(chars.Length);

            return(chars[randomNumber]);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Returns a random lowercase character
        /// </summary>
        /// <returns>System.Char.</returns>
        public static char GetRandomSpecialCharacter()
        {
            var chars = @"!§$%&/()=_?#";

            var randomNumber = IntHelpers.GetRandomNumber(chars.Length);

            return(chars[randomNumber]);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Returns a random lowercase character
        /// </summary>
        /// <returns>System.Char.</returns>
        public static char GetRandomLowercaseCharacter()
        {
            var chars = @"abcdefghijklmnopqrstuvwxyz";

            var randomNumber = IntHelpers.GetRandomNumber(chars.Length);

            return(chars[randomNumber]);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Returns a random uppercase character
        /// </summary>
        /// <returns>System.Char.</returns>
        public static char GetRandomUppercaseCharacter()
        {
            var chars = @"ABCDEFGHIJKLMNOPQRSTUVWXYZ";

            var randomNumber = IntHelpers.GetRandomNumber(chars.Length);

            return(chars[randomNumber]);
        }
Ejemplo n.º 7
0
        public async Task TestIfKeyIsProperlyStored()
        {
            var randomInt = IntHelpers.GetRandomNumber(100);

            await _redisService.SetAsync(RedisKeys.Default, randomInt);

            Assert.True(_redisService.Exist(RedisKeys.Default));
        }
        public IActionResult ShuffleIEnumerable(int number)
        {
            IEnumerable <int> list = Enumerable.Range(0, number)
                                     .Select(num => IntHelpers.GetRandomNumber(number * 2));

            var shuffled = list.Shuffle();


            return(Ok(new Tuple <IEnumerable <int>, IEnumerable <int> >(list, shuffled)));
        }
        /// <summary>
        /// Gets a random element for the IEnumerable
        /// </summary>
        /// <typeparam name="T">Type of source IEnumerable</typeparam>
        /// <param name="source">Source IEnumerable collection</param>
        /// <returns>T.</returns>
        public static T GetRandomElement <T>(this IEnumerable <T> source)
        {
            // If the list is empty then return an empty instance of T
            if (source.IsEmpty())
            {
                return(Activator.CreateInstance <T>());
            }

            // Get a random number
            int randomNumber = IntHelpers.GetRandomNumber(source.Count() - 1);

            return(source.ElementAt(randomNumber));
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Validates a Username for the following criteria:
        ///     * Between 1-40 Characters
        ///     * Does not match the Username Regex
        /// </summary>
        /// <param name="username">The Username</param>
        /// <returns>Whether the Username is Valid</returns>
        public virtual bool ValidateUsername(string username)
        {
            if (!IntHelpers.IsBetween(username.Length, 1, 40))
            {
                return(false);
            }

            if (!Regex.IsMatch(username, UsernameRegex))
            {
                return(false);
            }

            return(true);
        }
        public void VerifyThatShuffeDoesNotDeleteElements(int numberOfElements)
        {
            var originalList = Enumerable.Range(0, numberOfElements)
                               .Select(num => IntHelpers.GetRandomNumber(1, numberOfElements))
                               .ToList();

            var shuffledList = originalList.Shuffle().ToList();

            var diff = originalList.Except(shuffledList).ToList();

            Assert.True(diff.Count == 0);
            Assert.True(diff.IsEmpty());

            Assert.True(originalList.Count == shuffledList.Count);
        }
        public void TestRandomNumberInRange(int numberOfTests, int minValue, int maxValue)
        {
            List <int> randomNumbers = Enumerable.Range(0, numberOfTests)
                                       .Select(x => IntHelpers.GetRandomNumber(minValue, maxValue))
                                       .ToList();

            foreach (var randomNumber in randomNumbers)
            {
                Assert.True(randomNumber >= minValue && randomNumber <= maxValue);
            }

            var uniqueNumbers = randomNumbers.Distinct();

            Assert.True(uniqueNumbers.Count() > 1);
        }
        public IActionResult SortPerformance()
        {
            List <int> numbers = Enumerable.Range(0, 10000000)
                                 .Select(x => IntHelpers.GetRandomNumber(int.MaxValue))
                                 .ToList();

            Stopwatch stopwatch = new Stopwatch();

            stopwatch.Start();

            numbers.Sort();

            stopwatch.Stop();

            return(Ok(numbers));
        }
Ejemplo n.º 14
0
        protected override void WndProc(ref Message m)
        {
            base.WndProc(ref m);

            //Shortcut if disabled
            if (!HandleMouseMove)
            {
                return;
            }

            //Respond to hit test messages with Caption if mouse on glass: will enable form moving/maximization
            //as if mouse is on form caption.
            if (m.Msg == Messaging.WM_NCHITTEST && m.Result.ToInt32() == Messaging.HTCLIENT)
            {
                uint   lparam = (uint)m.LParam.ToInt32();
                ushort x      = IntHelpers.LowWord(lparam);
                ushort y      = IntHelpers.HighWord(lparam);

                //Check if mouse pointer is on glass part of form
                var clientPoint = this.PointToClient(new Point(x, y));
                if (_glassMargins.IsOutsideMargins(clientPoint, ClientSize))
                {
                    m.Result = (IntPtr)Messaging.HTCAPTION;
                    return;
                }
            }

            if (m.Msg == WM_DWMCOMPOSITIONCHANGED)
            {
                bool compositionEnabled = false;
                DwmIsCompositionEnabled(ref compositionEnabled);

                if (Controls.Count == tree.Count)
                {
                    for (int i = 0; i < Controls.Count; i++)
                    {
                        Controls[i].Location = tree[i];
                    }
                }

                GlassEnabled = compositionEnabled;
            }
        }