2016-01-08 2 views
1

У меня есть интерфейс со свойством:проверка Nsubstitute если сеттер был назван

public interface Filterable<T> 
{ 
    Filter<T> Filter { get; set; } 
} 

У меня есть метод simelar этого:

public void SetTheFilter<T>(Filterable<T> filterable, Filter<T> filter) 
{ 
    If (filter.IsActive) 
     filterable.Filter = filter; 
} 

Как я могу обеспечить с NSubstitute с в убедитесь, что фильтр установлен. Я пытался сделать это следующим образом, но он просто проверяет сорбент:

[TestMethod] 
public void SetTheFilter_WhenCalledWithFilterActive_SetsTheFilterOfFilterable() 
{ 
    var filterable = Substitute.For<Filterable<String>>(); 
    var filter = new StringFilter(); 

    SetTheFilter(filterable, filter); 

    var tmp = filterable.Recieved().Filter; 
} 

ли кто-нибудь знает, как проверить, если сеттер был вызван?

ответ

3

Стандартный способ проверить это просто прочитать значение обратно свойства:

Assert.AreEqual(filterable.Filter, filter); 

Если по какой-то причине вы действительно хотите, чтобы проверить сеттер был вызван, вы можете сделать:

filterable.Received().Filter = filter; 
Смежные вопросы