Files
even-perfect-numbers-scanner/PerfectNumbers.Core.Tests/PrimeCacheTests.cs
T
2025-09-09 21:15:57 +02:00

40 lines
1.0 KiB
C#

using FluentAssertions;
using PeterO.Numbers;
using Xunit;
namespace PerfectNumbers.Core.Tests;
public class PrimeCacheTests
{
[Fact]
[Trait("Category", "Fast")]
public void GetEulerPrimes_returns_primes_congruent_to_one_mod_four()
{
var cache = new PrimeCache();
EInteger[] result = cache.GetEulerPrimes(EInteger.FromInt32(2), EInteger.FromInt32(20));
result.Should().Equal(
EInteger.FromInt32(5),
EInteger.FromInt32(13),
EInteger.FromInt32(17));
}
[Fact]
[Trait("Category", "Fast")]
public void EnumeratePrimes_returns_sequence_starting_from_value()
{
var cache = new PrimeCache();
EInteger[] result = cache.EnumeratePrimes(EInteger.FromInt32(10))
.Take(5)
.ToArray();
result.Should().Equal(
EInteger.FromInt32(11),
EInteger.FromInt32(13),
EInteger.FromInt32(17),
EInteger.FromInt32(19),
EInteger.FromInt32(23));
}
}