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); }
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())); }
public void ValueIsCorrectWhenInitializedByDefaultCtor() { var sut = new MemberReferenceCollector(); var actual = sut.Value; Assert.Empty(actual); }
public void SutIsReflectionVisitor() { var sut = new MemberReferenceCollector(); Assert.IsAssignableFrom<IReflectionVisitor<IEnumerable<Assembly>>>(sut); }
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())); }
public void VisitNullTypeElementThrows() { var sut = new MemberReferenceCollector(); Assert.Throws<ArgumentNullException>(() => sut.Visit((TypeElement)null)); }