Exemplo n.º 1
0
        private Wallet(string path = DEFAULT_PATH, IRandom random = null)
        {
            Path = path;
#if NETCOREAPP2_1 || NETCOREAPP3_1 || NETSTANDARD2_0 || NET5_0
            if (random == null)
            {
                random = new RandomNumberGeneratorRandom();
            }
#else
            if (random == null)
            {
                random = new SecureRandom();
            }
#endif
            Random = random;
        }
Exemplo n.º 2
0
        public void Next_WithNoArguments_ReturnsPositiveValues()
        {
            var rand     = new RandomNumberGeneratorRandom(new RNGCryptoServiceProvider());
            var samples  = 10000;
            var failures = 0;

            for (var i = 0; i < samples; i++)
            {
                var value = rand.Next();
                if (value < 0)
                {
                    failures++;
                }
            }

            Assert.Equal(0, failures);
        }
Exemplo n.º 3
0
        public void NextDouble_Always_ReturnsValuesWithinRange()
        {
            var rand     = new RandomNumberGeneratorRandom(new RNGCryptoServiceProvider());
            var samples  = 1000000;
            var failures = 0;

            for (var i = 0; i < samples; i++)
            {
                var value = rand.NextDouble();
                if (value >= 1 || value < 0)
                {
                    failures++;
                }
            }

            Assert.Equal(0, failures);
        }
Exemplo n.º 4
0
        public void Next_WithMinAndMaxValues_ReturnsValuesWithinTheRange(int minValue, int maxValue)
        {
            var rand     = new RandomNumberGeneratorRandom(new RNGCryptoServiceProvider());
            var samples  = 10000;
            var failures = 0;

            for (var i = 0; i < samples; i++)
            {
                var value = rand.Next(minValue, maxValue);
                if (value < minValue || value > maxValue || (value == maxValue && maxValue > minValue))
                {
                    failures++;
                }
            }

            Assert.Equal(0, failures);
        }