2017-02-10 11 views
0

У меня есть класс, который имеет свойство IEnumerable<object>:NSubstitute IEnumerable Возвращает

interface ICore { 

    IEnumerable<object> enumerable { get; } 

} 

Мне нужно заменить возвращаемые значения этого IEnumerable<object>. Я связался с Returns, тем не менее, я получаю сообщение о том, что он недоступен на IEnumerable.

Любые идеи?

ответ

3

NSubstitute работает с интерфейсом IEnumerable отлично. Вот пример:

using System.Collections.Generic; 
using System.Linq; 
using NUnit.Framework; 

namespace NSubstitute.Acceptance.Specs.FieldReports 
{ 
    [TestFixture] 
    public class SO_42159342 
    { 
     public interface ICore 
     { 
      IEnumerable<object> Enumerable { get; } 
     } 

     [Test] 
     public void Test() 
     { 
      var sub = Substitute.For<ICore>(); 
      sub.Enumerable.Returns(Enumerable.Empty<object>()); 
      sub.Enumerable.Returns(new List<object>()); 
      sub.Enumerable.Returns(_ => new[] {new object()}); 

      Assert.True(sub.Enumerable.Count() == 1); 
     } 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^