Карты Google и множество точек пути (длинная ломаная линия)

Я пытаюсь интегрировать службу статических карт Google в свое приложение C #. Он должен проложить собственный маршрут на карте. Например:

http://maps.google.com/maps/api/staticmap?size=512x512&path=color:0x0000ff|weight:5|40.737102,-73.990318|40.749825,-73. {void Fizz (); } [Тест] общественная пустота A () {var foo = новый макет (MockBehavior.Loose); foo.Object.Fizz (); foo.Verify (x => x.Fizz ()); ...

Настройте так:

public interface IFoo
{
    void Fizz();
}

[Test]
public void A()
{
    var foo = new Mock<IFoo>(MockBehavior.Loose);

    foo.Object.Fizz();

    foo.Verify(x => x.Fizz());

    // stuff here

    foo.Verify(x => x.Fizz(), Times.Never()); // currently this fails
}

В основном я хотел бы ввести некоторый код в // здесь , чтобы получить foo.Verify (x => x.Fizz (), Times.Never ()) pass.

И поскольку это, вероятно, представляет собой злоупотребление moq / модульным тестированием, мое оправдание состоит в том, что я могу сделать что-то вроде этого:

[Test]
public void Justification()
{
    var foo = new Mock<IFoo>(MockBehavior.Loose);
    foo.Setup(x => x.Fizz());

    var objectUnderTest = new ObjectUnderTest(foo.Object);

    objectUnderTest.DoStuffToPushIntoState1(); // this is various lines of code and setup

    foo.Verify(x => x.Fizz());

    // reset the verification here

    objectUnderTest.DoStuffToPushIntoState2(); // more lines of code

    foo.Verify(x => x.Fizz(), Times.Never());
}

В принципе, у меня есть объект состояния, где требуется немало работы (как с точки зрения создания различных имитационных объектов, так и прочего), чтобы вставить его в State1. Затем я хочу протестировать переход от State1 к State2. Вместо того, чтобы дублировать или абстрагироваться от кода, я бы предпочел просто повторно использовать тест State1, вставить его в State2 и выполнить свои утверждения - все, что я могу делать, кроме вызовов проверки.

56
задан Julian 23 April 2019 в 09:23
поделиться