コンストラクターにコレクション引数が必要な抽象クラスがあります。クラスをモックしてテストするにはどうすればよいですか?
public abstract class QuoteCollection<T> : IEnumerable<T>
where T : IDate
{
public QuoteCollection(IEnumerable<T> quotes)
{
//...
}
public DateTime From { get { ... } }
public DateTime To { get { ... } }
}
コレクションからコンストラクターに渡される各アイテムは、以下を実装する必要があります。
public interface IDate
{
DateTime Date { get; }
}
カスタムモックを作成すると、次のようになります。
public class QuoteCollectionMock : QuoteCollection<SomeIDateType>
{
public QuoteCollectionMock(IEnumerable<SomeIDateType> quotes) : base(quotes) { }
}
Moqでこれを達成できますか?