/// <summary>
 /// Initializes the <see cref="VolatileProcessingPipelineStageSetting{T}"/> class.
 /// </summary>
 static VolatileProcessingPipelineStageSetting()
 {
     // Check whether the value type and derived types (if any) are immutable.
     // May return <c>false</c> although all derived types are immutable in practice,
     // but the analysis could not guarantee that this is always the case (false-negative).
     // => Immutable types can be shared by the setting and client code without defensive copying
     sUseDefensiveCopying = !Immutability.HasImmutableDerivationsOnly <T>();
 }
Beispiel #2
0
 public void FibonacciTest()
 {
     Assert.AreEqual(0, Immutability.Fibonacci(0));
     Assert.AreEqual(1, Immutability.Fibonacci(1));
     Assert.AreEqual(1, Immutability.Fibonacci(2));
     Assert.AreEqual(2, Immutability.Fibonacci(3));
     Assert.AreEqual(3, Immutability.Fibonacci(4));
     Assert.AreEqual(5, Immutability.Fibonacci(5));
     Assert.AreEqual(55, Immutability.Fibonacci(10));
     Assert.AreEqual(6765, Immutability.Fibonacci(20));
 }