我已經表明一類,它有兩個參數:如何在Autofixture中使用RandomRangedNumberCustomization來確保參數在一定範圍內?
public double X { get; private set; }
public double Y { get; private set; }
public Point(double x, double y)
{
if (x > 90 || x < -90)
throw new ArgumentOutOfRangeException("latitude");
if (y > 180 || y < -180)
throw new ArgumentOutOfRangeException("longitude");
X = x;
Y = y;
}
相應的屬性在構造函數中設置,所以我需要告訴AutoFixture創建與範圍內的參數點類作爲中後衛的規定條款。我設法弄亂了RandomRangedNumberCustomization類的用法。我做了以下內容:
var xRange = new RangedNumberRequest(typeof(double), -90.0, 90.0);
var yRange = new RangedNumberRequest(typeof (double), -180.0, 180.0);
var dummyContext = new DelegatingSpecimenContext();
var generator = new RandomRangedNumberGenerator();
var x = (double)generator.Create(latitudeRange, dummyContext);
var y = (double) generator.Create(longitudeRange, dummyContext);
將在我的範圍內產生的數字,所以我可以創造一個點,並在這些生成的數字飼料,但我錯過在定製方面的東西。任何幫助和/或指導將不勝感激。
謝謝!
謝謝,馬克。我喜歡使用慣例,並在過去使用它們。我正在查看RangedNumber類,並不確定使用它們的最佳方式,所以這有所幫助。我仍然不確定如何使用RandomRangedNumberCustomization,如果它在我的特定情況下具有應用程序。 – TortillaCurtain