6
Ich habe eine abstrakte Klasse, deren Konstruktor Sammlung Argument benötigt. Wie kann ich meine Klasse verspotten, um sie zu testen?Mocking abstrakte Klasse, die Konstruktor Abhängigkeiten hat (mit Moq)
public abstract class QuoteCollection<T> : IEnumerable<T>
where T : IDate
{
public QuoteCollection(IEnumerable<T> quotes)
{
//...
}
public DateTime From { get { ... } }
public DateTime To { get { ... } }
}
Jedes Element aus der Sammlung zu Konstruktor übergeben muß implementieren:
public interface IDate
{
DateTime Date { get; }
}
Wenn ich meine Gewohnheit verspotten schreiben würde es so aussehen:
public class QuoteCollectionMock : QuoteCollection<SomeIDateType>
{
public QuoteCollectionMock(IEnumerable<SomeIDateType> quotes) : base(quotes) { }
}
Kann ich dies erreichen mit Moq ?
wirkt wie ein Zauber :) – Kuba
Froh, dass ich helfen könnte :) –