gpt4 book ai didi

c# - 如何最小化一个只读属性,其值取决于类方法调用?

转载 作者:行者123 更新时间:2023-11-30 21:55:00 25 4
gpt4 key购买 nike

我有一个界面,像这样

public interface IContent 
{bool IsCheckedOut {get; };
void CheckOut();
}

CheckOut() 方法会影响属性 IsCheckedOut 返回的值。例如,在调用 CheckOut() 方法之前,IsCheckedOut 返回 false。之后,IsCheckedOut 属性返回 true。我想像这样测试 CheckOut 方法

[TestMethod]
public void CheckOutSetsCheckedOutStatusToTrue()
{
var content = new Mock <IContent>();

// test mock CheckOut() method, something like this
content.Setup(x => x.CheckOut());
content.Object.CheckOut();

// Verify
Assert.AreEqual(true, content.IsCheckedOut); //Test works as expected
}

有人知道我该怎么做吗?

非常感谢。

最佳答案

试试这个:

var isCheckedOut = false;
content.Setup(x => x.CheckOut()).Callback(() => { isCheckedOut = true; });
content.SetupGet(x => x.IsCheckedOut).Returns(() => isCheckedOut);
content.Object.CheckOut();

关于c# - 如何最小化一个只读属性,其值取决于类方法调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32664878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com