SORU
2 EYLÜL 2011, Cuma


Farklı dönüş Adedi ile birinci ve ikinci saat değerleri

Böyle bir test var:

    [TestCase("~/page/myaction")]
    public void Page_With_Custom_Action(string path) {
        // Arrange
        var pathData = new Mock<IPathData>();
        var pageModel = new Mock<IPageModel>();
        var repository = new Mock<IPageRepository>();
        var mapper = new Mock<IControllerMapper>();
        var container = new Mock<IContainer>();

        container.Setup(x => x.GetInstance<IPageRepository>()).Returns(repository.Object);

        repository.Setup(x => x.GetPageByUrl<IPageModel>(path)).Returns(() => pageModel.Object);

        pathData.Setup(x => x.Action).Returns("myaction");
        pathData.Setup(x => x.Controller).Returns("page");

        var resolver = new DashboardPathResolver(pathData.Object, repository.Object, mapper.Object, container.Object);

        // Act
        var data = resolver.ResolvePath(path);

        // Assert
        Assert.NotNull(data);
        Assert.AreEqual("myaction", data.Action);
        Assert.AreEqual("page", data.Controller);
    }

GetPageByUrl iki kez benim dashboardpathresolver, nasıl Adedi boş dönmesini söyleyin ilk kez ve pageModel miyim çalışır.Ojbect ikinci?

CEVAP
5 Mart 2013, Salı


Varolan cevaplar harika, ama ben düşünmüştüm atmak benim alternatif olan sadece kullanır System.Collections.Generic.Queue ve herhangi bir özel bilgi gerektirmez alaycı çerçeve - yana etmedim her zaman yazdım! :)

var pageModel = new Mock<IPageModel>();
IPageModel pageModelNull = null;
var pageModels = new Queue<IPageModel>();
pageModels.Enqueue(pageModelNull);
pageModels.Enqueue(pageModel.Object);

Sonra...

repository.Setup(x => x.GetPageByUrl<IPageModel>(path)).Returns(pageModels.Dequeue);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DavidParody

    DavidParody

    17 EKİM 2009
  • Harvest: Greg Laurie

    Harvest: Gre

    6 HAZİRAN 2006
  • Jonathan D.

    Jonathan D.

    3 Kasım 2006