public void IncorrectNullableCandidate_ReturnExpectedResultObject(int?candidate, int?from, int?to,
                                                                              SpecificationResult expected)
            {
                var sut = new InclusiveBetweenSpecification <int?>(from, to);

                var overall = sut.IsNotSatisfiedBy(candidate, out var result);

                Assert.False(overall);
                Assert.Equal(expected, result, new SpecificationResultComparer());
            }
            public void InclusiveBetweenCandidate_ReturnExpectedResultObject <T>(T candidate, T from, T to,
                                                                                 IComparer <T> comparer, SpecificationResult expected)
            {
                candidate = candidate?.ToString() != "null" ? candidate : default;
                var sut = new InclusiveBetweenSpecification <T>(from, to, comparer);

                var overall = sut.IsNotSatisfiedBy(candidate, out var result);

                Assert.False(overall);
                Assert.Equal(expected, result, new SpecificationResultComparer(candidate));
            }