0

これが私のテストです。関数 ImageSelectionDatabaseIsValidAllTotalGainsAssigned に変数を渡したいと思います。アサーションを 8 に対して 1 回、7 に対して 1 回チェックしたいと思います。

ただし、関数にパラメーターを渡して .Then() を呼び出すことはできません

これを行う方法を説明していただけますか?

    [Test]
    public void Set8NewImagesAndTotalGainsRemove2ImagesTest()
    {
        _imageSelectionStory.WithScenario("init new ImagesSelectionViewModel and load 8 new images from database and assign total gain 1,2 to all, and then remove 2 images")
            .Given(InitImageSelectionViewModelAndDatabaseImages)
            .When(SetNewImagesFromDatabase)
            .And(UpdateAssignedToTotalGains)
            .Then(ImageSelectionDatabaseIsValidAllTotalGainsAssigned)
            .Execute();
    }


    private void ImageSelectionDatabaseIsValidAllTotalGainsAssigned()
    {
        foreach (var image in _imagesSelectionViewModel.Images)
        {
            CollectionAssert.AreEqual(new List<double>{1,2}, image.AssignedToTotalGain);
        }
        Assert.AreEqual(8, _imagesSelectionViewModel.Images.Count);
        Assert.True(_imagesSelectionViewModel.IsValid());
    }
4

1 に答える 1

1
           [Test]
            public void Set8NewImagesAndTotalGainsRemove2ImagesTest()
            {
                _imageSelectionStory.WithScenario("init new ImagesSelectionViewModel and load 8 new images from database and assign total gain" +
                                                  " 1,2 to all, and then remove 2 images")
                    .Given(InitImageSelectionViewModelAndDatabaseImages)
                    .When(SetNewImagesFromDatabase)
                    .And(UpdateAssignedToTotalGainsAndRemove2Images)
                    .Then(ImageSelectionDatabaseIsValidImagesAllTotalGainsAssigned,6)
                    .Execute();
            }

            private void ImageSelectionDatabaseIsValidImagesAllTotalGainsAssigned(int expected)
            {
               foreach (var image in _imagesSelectionViewModel.Images)
              {
                   CollectionAssert.AreEqual(new List<double> { 1, 2 }, image.AssignedToTotalGain);
              }
              Assert.AreEqual(expected, _imagesSelectionViewModel.Images.Count);
              Assert.True(_imagesSelectionViewModel.IsValid());
            }
于 2019-01-17T08:32:18.850 に答える