public void ShouldTestVariatePositionsAndValues(NoisePositionsAndValuesVariationTestCase testCase)
        {
            // When
            var actual = _noiseGenerator
                         .VariatePositionsAndValues(testCase.Field, testCase.CodewordLength, testCase.ErrorsCount, testCase.InitialNoiseValue)
                         .ToArray();

            // Then
            Assert.Equal(testCase.Expected.Length, actual.Length);
            Assert.All(actual, x => Assert.Contains(testCase.Expected, y => y.SequenceEqual(x)));
        }
        public void ShouldTestVariatePositionsAndValues(
            GaloisField field,
            int codewordLength,
            int errorsCount,
            FieldElement[] initialNoiseValue,
            FieldElement[][] expected)
        {
            // When
            var actual = _noiseGenerator.VariatePositionsAndValues(field, codewordLength, errorsCount, initialNoiseValue).ToArray();

            // Then
            Assert.Equal(expected.Length, actual.Length);
            Assert.All(actual, x => Assert.Contains(expected, y => y.SequenceEqual(x)));
        }