static RecursiveGeneratorTests() { var gf3 = new PrimeOrderField(3); VariatePositionsAndValuesTestsData = new[] { new object[] { gf3, 3, 2, null, new[] { new[] { gf3.CreateElement(1), gf3.CreateElement(1), gf3.Zero() }, new[] { gf3.CreateElement(1), gf3.CreateElement(2), gf3.Zero() }, new[] { gf3.CreateElement(2), gf3.CreateElement(1), gf3.Zero() }, new[] { gf3.CreateElement(2), gf3.CreateElement(2), gf3.Zero() }, new[] { gf3.CreateElement(1), gf3.Zero(), gf3.CreateElement(1) }, new[] { gf3.CreateElement(1), gf3.Zero(), gf3.CreateElement(2) }, new[] { gf3.CreateElement(2), gf3.Zero(), gf3.CreateElement(1) }, new[] { gf3.CreateElement(2), gf3.Zero(), gf3.CreateElement(2) }, new[] { gf3.Zero(), gf3.CreateElement(1), gf3.CreateElement(1) }, new[] { gf3.Zero(), gf3.CreateElement(1), gf3.CreateElement(2) }, new[] { gf3.Zero(), gf3.CreateElement(2), gf3.CreateElement(1) }, new[] { gf3.Zero(), gf3.CreateElement(2), gf3.CreateElement(2) } } }, new object[] { gf3, 3, 2, new[] { gf3.CreateElement(1), gf3.Zero(), gf3.CreateElement(2) }, new[] { new[] { gf3.CreateElement(1), gf3.Zero(), gf3.CreateElement(2) }, new[] { gf3.CreateElement(2), gf3.Zero(), gf3.CreateElement(1) }, new[] { gf3.CreateElement(2), gf3.Zero(), gf3.CreateElement(2) }, new[] { gf3.Zero(), gf3.CreateElement(1), gf3.CreateElement(1) }, new[] { gf3.Zero(), gf3.CreateElement(1), gf3.CreateElement(2) }, new[] { gf3.Zero(), gf3.CreateElement(2), gf3.CreateElement(1) }, new[] { gf3.Zero(), gf3.CreateElement(2), gf3.CreateElement(2) } } } }; VariateValuesTestsData = new[] { new object[] { new[] { gf3.Zero(), gf3.CreateElement(1), gf3.CreateElement(1) }, new[] { new[] { gf3.Zero(), gf3.CreateElement(1), gf3.CreateElement(1) }, new[] { gf3.Zero(), gf3.CreateElement(1), gf3.CreateElement(2) }, new[] { gf3.Zero(), gf3.CreateElement(2), gf3.CreateElement(1) }, new[] { gf3.Zero(), gf3.CreateElement(2), gf3.CreateElement(2) } } } }; }
static RecursiveGeneratorTests() { var gf3 = new PrimeOrderField(3); VariatePositionsAndValuesTestsData = new TheoryData <NoisePositionsAndValuesVariationTestCase> { new NoisePositionsAndValuesVariationTestCase { Field = gf3, CodewordLength = 3, ErrorsCount = 2, Expected = new[] { new[] { gf3.CreateElement(1), gf3.CreateElement(1), gf3.Zero() }, new[] { gf3.CreateElement(1), gf3.CreateElement(2), gf3.Zero() }, new[] { gf3.CreateElement(2), gf3.CreateElement(1), gf3.Zero() }, new[] { gf3.CreateElement(2), gf3.CreateElement(2), gf3.Zero() }, new[] { gf3.CreateElement(1), gf3.Zero(), gf3.CreateElement(1) }, new[] { gf3.CreateElement(1), gf3.Zero(), gf3.CreateElement(2) }, new[] { gf3.CreateElement(2), gf3.Zero(), gf3.CreateElement(1) }, new[] { gf3.CreateElement(2), gf3.Zero(), gf3.CreateElement(2) }, new[] { gf3.Zero(), gf3.CreateElement(1), gf3.CreateElement(1) }, new[] { gf3.Zero(), gf3.CreateElement(1), gf3.CreateElement(2) }, new[] { gf3.Zero(), gf3.CreateElement(2), gf3.CreateElement(1) }, new[] { gf3.Zero(), gf3.CreateElement(2), gf3.CreateElement(2) } } }, new NoisePositionsAndValuesVariationTestCase { Field = gf3, CodewordLength = 3, ErrorsCount = 2, InitialNoiseValue = new[] { gf3.CreateElement(1), gf3.Zero(), gf3.CreateElement(2) }, Expected = new[] { new[] { gf3.CreateElement(1), gf3.Zero(), gf3.CreateElement(2) }, new[] { gf3.CreateElement(2), gf3.Zero(), gf3.CreateElement(1) }, new[] { gf3.CreateElement(2), gf3.Zero(), gf3.CreateElement(2) }, new[] { gf3.Zero(), gf3.CreateElement(1), gf3.CreateElement(1) }, new[] { gf3.Zero(), gf3.CreateElement(1), gf3.CreateElement(2) }, new[] { gf3.Zero(), gf3.CreateElement(2), gf3.CreateElement(1) }, new[] { gf3.Zero(), gf3.CreateElement(2), gf3.CreateElement(2) } } } }; VariateValuesTestsData = new TheoryData <NoiseValuesVariationTestCase> { new NoiseValuesVariationTestCase { InitialNoiseValue = new[] { gf3.Zero(), gf3.CreateElement(1), gf3.CreateElement(1) }, Expected = new[] { new[] { gf3.Zero(), gf3.CreateElement(1), gf3.CreateElement(1) }, new[] { gf3.Zero(), gf3.CreateElement(1), gf3.CreateElement(2) }, new[] { gf3.Zero(), gf3.CreateElement(2), gf3.CreateElement(1) }, new[] { gf3.Zero(), gf3.CreateElement(2), gf3.CreateElement(2) } } } }; }