Создать экземпляр для класса заглушки, используя родинки, вызвать фактический конструктор класса

Я новичок в Microsoft Moles. Я попытался создать экземпляр для класса-заглушки, сгенерированного Moles, и при отладке он вызывает конструктор класса actaul, который мне не нужен. как добиться этого в кротах. Приведенный ниже пример кода для лучшего понимания

public class BaseClass
{
    public BaseClass()
    {
        MarkNew();
    }

    protected void MarkNew()
    {
        this.State = ObjectState.New;
        MarkChild();
    }

    protected virtual void MarkChild()
    {
    }

    public ObjectState State { get; private set; }
}

public class DerivedClass : BaseClass
{
    public DerivedClass() : base()
    {
    }

    public string FileName { get; set; }
    public string Value { get; set; }
}

[PexMethod]
[HostType("Moles")]
public void ReadContentTest(string content)
{
    // Arrange.
    SDerivedClass derivedObject = new SDerivedClass();
    derivedObject.FileName = "test.txt";
    var fs = new SIFileSystem();
    fs.ReadAllTextString = delegate(string fileName)
    {
        PexAssert.AreEqual(derivedObject.FileName, fileName);
        return content;
    };

    // Act.
    var test = new TestReaderWithStubs(fs);
    test.ReadContent(derivedObject);

    // Assert.
    PexAssert.IsTrue(content == derivedObject.Value);
}

Заранее спасибо С уважением Шива

0 ответов

Другие вопросы по тегам