2016-10-12 122 views
0

我是單元測試我的一個功能。結果正常,但方法的結果集合類型爲Position,用於比較的集合類型爲Mock<IPosition>。這就是爲什麼測試總是失敗的原因,因爲兩者之間的比較是不正確的。比較集合與模擬集合

有沒有辦法可以重寫默認比較集合?

結果是類型定位,實現此接口的:

public interface IPosition 
{ 
    char HorizontalPosition { get;} 
    int VerticalPosition { get; }  
} 

但模擬採集是Mock<IPosition>類型。

回答

1

您必須修改集合:

var positions = new List<Position>(); 
var mocks = new List<Mock<IPosition>>(); 

YourComparisonMethod(positions.Cast<IPosition>(), mocks.Select(m => m.Object));