public void FrequencyDecoratorShouldImplementTheValueNoiseInterface()
        {
            var innerMock = new Mock <IValueNoise2d>();

            FrequencyDecorator frequencyDecorator = new FrequencyDecorator(innerMock.Object);

            Assert.IsInstanceOf <IValueNoise2d>(frequencyDecorator);
        }
        public void FrequencyDecoratorShouldApplyACustomFrequencyOnTheVectorBeforeTheNoiseBeingEvaluated()
        {
            const int InnerNoiseValue = 3;

            var innerMock = new Mock <IValueNoise2d>();

            innerMock.Setup(inner => inner.Evaluate(new Vector2D(1.5f, 1.5f))).Returns(InnerNoiseValue);

            FrequencyDecorator frequencyDecorator = new FrequencyDecorator(innerMock.Object, 0.5f);

            Assert.AreEqual(InnerNoiseValue, frequencyDecorator.Evaluate(new Vector2D(3.0f, 3.0f)));
        }
        public void FrequencyDecoratorShouldApplyADefaultFrequencyThatHasNoImpact()
        {
            const int InnerNoiseValue = 3;

            var innerMock = new Mock <IValueNoise2d>();

            innerMock.Setup(inner => inner.Evaluate(new Vector2D(3.0f, 3.0f))).Returns(InnerNoiseValue);

            FrequencyDecorator frequencyDecorator = new FrequencyDecorator(innerMock.Object);

            Assert.AreEqual(InnerNoiseValue, frequencyDecorator.Evaluate(new Vector2D(3.0f, 3.0f)));
        }