public void CalculateCorrectPercentageWhenNeverCorrect() { var expected = "Expected"; var classifier = new Mock <IImageClassifier <ImageObservation <int>, IEnumerable <int> > >(); classifier .Setup(target => target.Classify(It.IsAny <IEnumerable <int> >())) .Returns(expected); var set = new[] { new ImageObservation <int>("blah", new[] { 1, 2, 3 }), new ImageObservation <int>("other", new[] { 4, 5, 6 }), new ImageObservation <int>("blah", new[] { 7, 8, 9 }) }; ImageClassifierEvaluator.CalculateCorrectPercentage(set, classifier.Object) .Should().Be(0d, "because the classifier is never correct"); }
public void CalculateCorrectPercentageCorrectExactlyHalf() { var expected = "Expected"; var classifier = new Mock <IImageClassifier <ImageObservation <int>, IEnumerable <int> > >(); classifier .Setup(target => target.Classify(It.IsAny <IEnumerable <int> >())) .Returns(expected); var set = new[] { new ImageObservation <int>(expected, new[] { 1, 2, 3 }), new ImageObservation <int>("blah", new[] { 4, 5, 6 }), new ImageObservation <int>(expected, new[] { 7, 8, 9 }), new ImageObservation <int>("rando", new[] { 2, 3, 4 }), }; ImageClassifierEvaluator.CalculateCorrectPercentage(set, classifier.Object) .Should().Be(0.5d, "because the classifier is correct exactly half the time"); }
public void CalculateCorrectPercentageValidatesTheClassifier() { Action actionUnderTest = () => ImageClassifierEvaluator.CalculateCorrectPercentage(new ImageObservation <int> [0], null); actionUnderTest.Should().Throw <ArgumentNullException>("because the classifier set is required"); }
public void CalculateCorrectPercentageValidatesTheValidationSet() { Action actionUnderTest = () => ImageClassifierEvaluator.CalculateCorrectPercentage(null, Mock.Of <IImageClassifier <ImageObservation <int>, IEnumerable <int> > >()); actionUnderTest.Should().Throw <ArgumentNullException>("because the validation set is required"); }