整数はIFixture.Create<int>()
で生成されますか?AutoFixture 3で生成される整数は一意ですか?
The Wiki says番号はランダムであるが、これ はすべてのための有効な値のセットがあるとして、それはまた、私たちの最初の数字は、[1、255]の範囲内で生成され、この
を伝えること数値データ型。 .NETの 数値データ型の最小値はSystem.Byteで、これは の範囲に収まります。最初の255個の整数が使用された場合
、数字が続い はのSystem.Int16のために利用可能な残り 正の数に対応する範囲[256、32767]、から取り出されます。
のGitHubでの2つの関連する事柄:
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
}
私は、それを示唆している情報のビットのみを生成した番号は一意であると言う文を発見していないが、私は間違っている可能性があります。