pechkin: (сумасшедший домик на вершине горы)
pechkin ([personal profile] pechkin) wrote2014-07-16 04:50 pm
Entry tags:

Мучительное ощущение, что я изобретаю велосипед

Хочу убедиться, что конструктор Model(ushort[] arg) таки да вызывает SetSomething(arg).

internal class ModelMock_Ctors : Model
{
 public ushort[] actualArg;

 public ModelMock_Ctors(ushort[] arg)
  : base(arg)
 { }

 public override void SetSomething(ushort[] arg)
 {
  actualArg = arg;
 }
}

public class Model : IDevice
{
 public Model(ushort[] arg)
 {
  SetSomething(arg)
 }


 public virtual void SetSomething(ushort[] arg)
 {
  //...
 }
}

[TestClass()]
public class ModelTest
{
 [TestMethod]
 public void ModelConstructorTest()
 {
  ushort[] expected = new ushort[] 
  { 
   //...
  };  

  ModelMock_Ctors target = new ModelMock_Ctors(expected);
  CollectionAssert.AreEqual(expected, target.actualNVM);
 }
}



У меня устойчивое ощущение, что существует не самодельный способ сделать это, но я не могу его найти. Наверно, это Moq, но у этой, по всем отзывам замечательной, библиотеки, похоже, отсутствует документация.