public void Can_Identify_Excluded_Properties() { var sourceAssembly = AssemblyDefinition.ReadAssembly(typeof(Samples.Concrete).Assembly.Location); var type = sourceAssembly.MainModule.Types.First(x => x.FullName == typeof(Samples.Concrete).FullName); var filter = new Filter(); filter.AddAttributeExclusionFilters(new[] { "*ExcludeMethodAttribute" }); foreach (var propertyDefinition in type.Properties) { Assert.True(filter.ExcludeByAttribute(propertyDefinition)); } }
public void Entity_Is_Not_Excluded_If_No_Filters_Set() { var filter = new Filter(); var entity = new Mock<ICustomAttributeProvider>(); Assert.IsFalse(filter.ExcludeByAttribute(entity.Object)); }
public void Can_Identify_Excluded_Methods() { var sourceAssembly = AssemblyDefinition.ReadAssembly(typeof(Samples.Concrete).Assembly.Location); var type = sourceAssembly.MainModule.Types.First(x => x.FullName == typeof (Samples.Concrete).FullName); var filter = new Filter(); filter.AddAttributeExclusionFilters(new[] { "*ExcludeMethodAttribute" }); foreach (var methodDefinition in type.Methods) { if (methodDefinition.IsSetter || methodDefinition.IsGetter) continue; Assert.True(filter.ExcludeByAttribute(methodDefinition)); } }
public void Can_Identify_Included_Anonymous_Issue99() { var sourceAssembly = AssemblyDefinition.ReadAssembly(typeof(Samples.Anonymous).Assembly.Location); var type = sourceAssembly.MainModule.Types.First(x => x.FullName == typeof(Samples.Anonymous).FullName); var filter = new Filter(); filter.AddAttributeExclusionFilters(new[] { "*ExcludeMethodAttribute" }); foreach (var methodDefinition in type.Methods.Where(x => x.Name.Contains("INCLUDE"))) { if (methodDefinition.IsSetter || methodDefinition.IsGetter || methodDefinition.IsConstructor) continue; Assert.False(filter.ExcludeByAttribute(methodDefinition), "failed to include {0}", methodDefinition.Name); } }
public void Handles_Issue117() { var filter = new Filter(); filter.AddAttributeExclusionFilters(new[] { "*ExcludeMethodAttribute" }); var mockDefinition = new Mock<IMemberDefinition>(); mockDefinition.SetupGet(x => x.HasCustomAttributes).Returns(true); mockDefinition.SetupGet(x => x.CustomAttributes).Returns(new Collection<CustomAttribute>()); mockDefinition.SetupGet(x => x.Name).Returns("<>f_ddd"); mockDefinition.SetupGet(x => x.DeclaringType).Returns(new TypeDefinition("","f_ddd", TypeAttributes.Public)); Assert.DoesNotThrow(() => filter.ExcludeByAttribute(mockDefinition.Object)); }
public void Entity_Is_Not_Excluded_If_No_Filters_Set() { var filter = new Filter(); var entity = new Mock<IMemberDefinition>(); Assert.IsFalse(filter.ExcludeByAttribute(entity.Object)); }
public void Can_Identify_Excluded_Methods_UsingRegularExpressions() { // arrange var filter = new Filter(true); filter.AddAttributeExclusionFilters(new[] { ".*ExcludeMethodAttribute" }); // act var sourceAssembly = AssemblyDefinition.ReadAssembly(typeof(Samples.Concrete).Assembly.Location); var type = sourceAssembly.MainModule.Types.First(x => x.FullName == typeof(Samples.Concrete).FullName); // assert foreach (var methodDefinition in type.Methods.Where(methodDefinition => !methodDefinition.IsSetter && !methodDefinition.IsGetter)) { Assert.True(filter.ExcludeByAttribute(methodDefinition)); } }
public void Can_Identify_Excluded_Types(string typeName) { // arrange var sourceAssembly = AssemblyDefinition.ReadAssembly(typeof(Samples.Concrete).Assembly.Location); // act var filter = new Filter(false); var allTypes = AllTypes(sourceAssembly.MainModule); var typeDefinition = allTypes.First(x => x.Name == typeName); Assert.False(filter.ExcludeByAttribute(typeDefinition)); // assert filter.AddAttributeExclusionFilters(new[] { "*ExcludeClassAttribute" }); foreach (var methodDefinition in typeDefinition.Methods) { if (methodDefinition.IsSetter || methodDefinition.IsGetter) continue; Assert.True(filter.ExcludeByAttribute(methodDefinition)); } Assert.True(filter.ExcludeByAttribute(typeDefinition)); foreach (var nestedType in AllNestedTypes(typeDefinition)) { Assert.True(filter.ExcludeByAttribute(nestedType)); } }
public void Can_Identify_Excluded_Assemblies() { // arrange var sourceAssembly = AssemblyDefinition.ReadAssembly(typeof(Samples.Concrete).Assembly.Location); // act var filter = new Filter(false); Assert.False(filter.ExcludeByAttribute(sourceAssembly)); // assert filter.AddAttributeExclusionFilters(new[] { "*ExcludeAssemblyAttribute" }); Assert.True(filter.ExcludeByAttribute(sourceAssembly)); }
public void Can_Identify_Excluded_Types() { // arrange var sourceAssembly = AssemblyDefinition.ReadAssembly(typeof(Samples.Concrete).Assembly.Location); // act var filter = new Filter(); foreach (var typeDefinition in sourceAssembly.MainModule.Types.Where(x => x.Name == "Concrete")) { Assert.False(filter.ExcludeByAttribute(typeDefinition)); } // assert filter.AddAttributeExclusionFilters(new[] { "*ExcludeClassAttribute" }); foreach (var typeDefinition in sourceAssembly.MainModule.Types.Where(x => x.Name == "Concrete")) { Assert.True(filter.ExcludeByAttribute(typeDefinition)); } }