0
개체별로 인덱서 속성 반환을 모의하고 싶습니다. 나는 조롱을 위해 NS substitute를 사용하고 있습니다. 나는 다음과 같은 시나리오를 가지고있다. 로NSubstitute에서 반환 된 개체의 인덱서 정보를 모의 사용하는 방법
public class FeedProcesser
{
private IFeedData _feedService = new FeedClass();
public FeedProcesser(IFeedData feedService)
{
_feedService = feedService;
}
public void ProcessFeedData(string symbol)
{
var feedRespnse= _feedService.GetFeedData(symbol);
//do feed processing logic based on Trader and Broker Information
}
}
단위 테스트 클래스 - -
IFeedData를 참조 IFeedData.GetFeedDatapublic class FeedEntity
{
private SymbolData _symbolData;
public string Symbol { get; set; }
public SymbolData this[string symbolName]
{
get //Search Data into Actual Feed and returns relevent data for Symbol
{
if (_symbolData != null)
{
_symbolData = new SymbolData//Just Created For Sample Purpose
{
TraderName = "TestTrader",
BrokerName = "TestBroker"
};
}
return _symbolData;
}
set
{
_symbolData = value;
}
}
}
public class SymbolData
{
public string TraderName { get; set; }
public string BrokerName { get; set; }
}
public interface IFeedData
{
FeedEntity GetFeedData(string symbolName);
}
public class FeedClass : IFeedData
{
public FeedEntity GetFeedData(string symbolName)
{
return new FeedEntity
{
Symbol = "TestSymbol"
};
}
}
메인 클래스에서 돌아 오는 동안 샘플에서 나는 인덱서 속성 이 [문자열 symbolname 만]을 조롱하고 싶어
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
var iFeedData = Substitute.For<FeedClass>();
iFeedData.GetFeedData(Arg.Any<string>()).Returns(x => new FeedEntity() { Symbol = "HHH" });
var processer = new FeedProcesser(iFeedData);
processer.ProcessFeedData("HHH");
}
}
도움을 주시면 감사하겠습니다.