|
|
|
@ -30,11 +30,14 @@ |
|
|
|
|
|
|
|
using System; |
|
|
|
using System.Linq; |
|
|
|
using System.Numerics; |
|
|
|
using NUnit.Framework; |
|
|
|
|
|
|
|
namespace MathNet.Numerics.UnitTests |
|
|
|
{ |
|
|
|
#if !NOSYSNUMERICS
|
|
|
|
using System.Numerics; |
|
|
|
#endif
|
|
|
|
|
|
|
|
[TestFixture] |
|
|
|
public class GenerateTests |
|
|
|
{ |
|
|
|
@ -223,10 +226,12 @@ namespace MathNet.Numerics.UnitTests |
|
|
|
public void UnfoldConsistentWithSequence() |
|
|
|
{ |
|
|
|
Assert.That( |
|
|
|
Generate.UnfoldSequence((s => Tuple.Create(s + 1, s + 1)), 0).Take(250).ToArray(), |
|
|
|
Is.EqualTo(Generate.Unfold(250, (s => Tuple.Create(s + 1, s + 1)), 0)).AsCollection); |
|
|
|
Generate.UnfoldSequence((s => new Tuple<int, int>(s + 1, s + 1)), 0).Take(250).ToArray(), |
|
|
|
Is.EqualTo(Generate.Unfold(250, (s => new Tuple<int, int>(s + 1, s + 1)), 0)).AsCollection); |
|
|
|
} |
|
|
|
|
|
|
|
#if !NOSYSNUMERICS
|
|
|
|
|
|
|
|
[Test] |
|
|
|
public void FibonacciConsistentWithSequence() |
|
|
|
{ |
|
|
|
@ -243,8 +248,11 @@ namespace MathNet.Numerics.UnitTests |
|
|
|
Is.EqualTo(new[] { BigInteger.Zero, BigInteger.One }.Concat(Generate.Unfold(248, (s => |
|
|
|
{ |
|
|
|
var z = s.Item1 + s.Item2; |
|
|
|
return Tuple.Create(z, Tuple.Create(s.Item2, z)); |
|
|
|
}), Tuple.Create(BigInteger.Zero, BigInteger.One)))).AsCollection); |
|
|
|
return new Tuple<BigInteger, Tuple<BigInteger, BigInteger>>(z, new Tuple<BigInteger, BigInteger>(s.Item2, z)); |
|
|
|
}), new Tuple<BigInteger, BigInteger>(BigInteger.Zero, BigInteger.One)))).AsCollection); |
|
|
|
} |
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|