Являются ли целые числа с IFixture.Create<int>()
уникальными?Являются ли целые числа, созданные с помощью AutoFixture 3 уникальными?
The Wiki says, что числа являются случайными, но он также говорит нам этот
Первые числа генерируются в диапазоне [1, 255], так как это представляет собой набор значений, которые являются действительными для всех числовые типы данных. Наименьший тип цифровых данных в .NET - System.Byte, который подходит для этого диапазона .
Когда были использованы первые 255 целых чисел, цифры затем выбраны из диапазона [256, 32767], что соответствует остальным положительным номерам, доступным для System.Int16.
Две взаимосвязанные вещи на GitHub:
https://github.com/AutoFixture/AutoFixture/issues/2
https://github.com/AutoFixture/AutoFixture/pull/7
А что эти модульные тесты?
https://github.com/AutoFixture/AutoFixture/blob/master/Src/AutoFixtureUnitTest/GeneratorTest.cs#L33
[Theory, ClassData(typeof(CountTestCases))]
public void StronglyTypedEnumerationYieldsUniqueValues(int count)
{
// Fixture setup
var sut = new Generator<T>(new Fixture());
// Exercise system
var actual = sut.Take(count);
// Verify outcome
Assert.Equal(count, actual.Distinct().Count());
// Teardown
}
https://github.com/AutoFixture/AutoFixture/blob/master/Src/AutoFixtureUnitTest/GeneratorTest.cs#L57
[Theory, ClassData(typeof(CountTestCases))]
public void WeaklyTypedEnumerationYieldsUniqueValues(int count)
{
// Fixture setup
IEnumerable sut = new Generator<T>(new Fixture());
// Exercise system
var actual = sut.OfType<T>().Take(count);
// Verify outcome
Assert.Equal(count, actual.Distinct().Count());
// Teardown
}
Я не нашел заявление, в котором говорится, сгенерированные номера являются уникальными, только те биты информации, которые можно было бы предположить, но я могу ошибаться.