Ejemplo n.º 1
0
    protected void EnsurePrimeNumbers(byte[] bytes)
    {
        var needed = (bytes.Length + 1) * 256;

        if (PrimeNumbers?.Count >= needed)
        {
            return;
        }

        PrimeNumbers = PrimeNumberGenerator.Generate(needed).ToList();
    }
Ejemplo n.º 2
0
        public int?[,] Generate(int length)
        {
            // Validate
            if (length <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(length), $"Method {nameof(Generate)} only accepts {nameof(length)} values greater than 0.");
            }

            var primeList = _primeNumberGenerator.Generate(length).ToArray();
            var result    = new int?[length + 1, length + 1];

            for (int i = 1; i <= length; i++)
            {
                result[0, i] = result[i, 0] = primeList[i - 1];
                for (int j = 1; j <= i; j++)
                {
                    result[j, i] = result[i, j] = primeList[i - 1] * primeList[j - 1];
                }
            }

            return(result);
        }
        public void HappyPath_ValidNumbers_FirstLessThanSecond()
        {
            var values = _primeNumGenerator.Generate(1, 10);

            Assert.IsNotNull(values);
            Assert.AreEqual(4, values.Count);
            Assert.AreEqual(2, values[0]);
            Assert.AreEqual(3, values[1]);
            Assert.AreEqual(5, values[2]);
            Assert.AreEqual(7, values[3]);
        }