Exemple #1
0
        public void EnumerableOfGuidReturnsValue()
        {
            var attribute  = new CombinatorialMemberDataAttribute(nameof(GetValuesAsEnumerableOfGuid));
            var testMethod = this.GetType().GetMethod(nameof(StubGuidMethod));
            var parameter  = testMethod.GetParameters()[0];
            var values     = attribute.GetValues(parameter);

            Assert.Contains(values, obj => (Guid)obj != Guid.Empty);
        }
Exemple #2
0
        public void EnumerableOfIntReturnsValues()
        {
            var attribute  = new CombinatorialMemberDataAttribute(nameof(GetValuesAsEnumerableOfInt));
            var testMethod = this.GetType().GetMethod(nameof(StubIntMethod));
            var parameter  = testMethod.GetParameters()[0];
            var values     = attribute.GetValues(parameter);

            Assert.Equal(new object[] { 1, 2, 3, 4 }, values);
        }
Exemple #3
0
        public void IncompatibleMemberDataTypeThrows()
        {
            var attribute  = new CombinatorialMemberDataAttribute(nameof(GetValuesAsEnumerableOfGuid));
            var testMethod = this.GetType().GetMethod(nameof(StubIntMethod));
            var parameter  = testMethod.GetParameters()[0];

            var exception = Assert.Throws <ArgumentException>(() => attribute.GetValues(parameter));

            Assert.Equal("Parameter type System.Int32 is not compatible with returned member type System.Guid", exception.Message);
        }
Exemple #4
0
        public void EnumerableOfArrayThrows()
        {
            var attribute  = new CombinatorialMemberDataAttribute(nameof(GetValuesAsEnumerableOfIntArray));
            var testMethod = this.GetType().GetMethod(nameof(StubIntMethod));
            var parameter  = testMethod.GetParameters()[0];

            var exception = Assert.Throws <ArgumentException>(() => attribute.GetValues(parameter));

            Assert.Equal("Member GetValuesAsEnumerableOfIntArray on Xunit.Combinatorial.Tests.CombinatorialMemberDataAttributeTests returned an IEnumerable<object[]>, which is not supported", exception.Message);
        }