コード例 #1
0
        public void ValueIsCorrectWhenInitializedByCtorWithReferences()
        {
            var references = new[] { typeof(object).Assembly, typeof(object).Assembly, typeof(Enumerable).Assembly };
            var sut = new MemberReferenceCollector(references);

            var actual = sut.Value;

            Assert.Equal(references.Distinct(), actual);
        }
コード例 #2
0
        public void VisitFieldInfoElementCollectsCorrectAssemblies()
        {
            var refereces = new[] { typeof(ISet<>).Assembly };
            var sut = new MemberReferenceCollector(refereces);
            var expected = new[]
            {
                typeof(ClassImplementingMultiple).Assembly,
                typeof(IDisposable).Assembly,
                typeof(ISpecimenContext).Assembly,
                refereces[0]
            };
            var fieldInfoElements = new Fields<ClassForCollectingReference>()
                .Select(x => x.Field).ToElement();

            var actual = sut.Visit(fieldInfoElements);

            Assert.NotSame(sut, actual);
            Assert.Equal(
                expected.OrderBy(x => x.ToString()),
                actual.Value.OrderBy(x => x.ToString()));
        }
コード例 #3
0
 public void ValueIsCorrectWhenInitializedByDefaultCtor()
 {
     var sut = new MemberReferenceCollector();
     var actual = sut.Value;
     Assert.Empty(actual);
 }
コード例 #4
0
 public void SutIsReflectionVisitor()
 {
     var sut = new MemberReferenceCollector();
     Assert.IsAssignableFrom<IReflectionVisitor<IEnumerable<Assembly>>>(sut);
 }
コード例 #5
0
        public void VisitParameterInfoElementCollectsCorrectAssemblies()
        {
            var references = new[] { typeof(ISet<>).Assembly };
            var sut = new MemberReferenceCollector(references);
            var expected = new[]
            {
                typeof(ClassImplementingMultiple).Assembly,
                typeof(IDisposable).Assembly,
                typeof(ISpecimenContext).Assembly,
                references[0]
            };
            var parameterInfoElement = new Methods<ClassForCollectingReference>()
                .Select(x => x.ParameterizedMethod(null)).GetParameters()
                .First().ToElement();

            var actual = sut.Visit(parameterInfoElement);

            Assert.NotSame(sut, actual);
            Assert.Equal(expected.OrderBy(x => x.ToString()), actual.Value.OrderBy(x => x.ToString()));
        }
コード例 #6
0
 public void VisitNullTypeElementThrows()
 {
     var sut = new MemberReferenceCollector();
     Assert.Throws<ArgumentNullException>(() => sut.Visit((TypeElement)null));
 }