diff options
author | Eric Maupin <ermaup@microsoft.com> | 2018-01-24 20:45:57 +0300 |
---|---|---|
committer | Eric Maupin <ermaup@microsoft.com> | 2018-01-25 21:24:33 +0300 |
commit | 56a27e53d8c5775ff67c22e907c096a3face99b1 (patch) | |
tree | beac093aaaecf03ddf74265933099e516a1d4595 /Xamarin.PropertyEditing.Tests/MockObjectEditor.cs | |
parent | 6402272acc41780bb052eb99171eb693ee8dd744 (diff) |
[Tests] Support object creation/relevancy
Diffstat (limited to 'Xamarin.PropertyEditing.Tests/MockObjectEditor.cs')
-rw-r--r-- | Xamarin.PropertyEditing.Tests/MockObjectEditor.cs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Xamarin.PropertyEditing.Tests/MockObjectEditor.cs b/Xamarin.PropertyEditing.Tests/MockObjectEditor.cs index 230e00a..af88a11 100644 --- a/Xamarin.PropertyEditing.Tests/MockObjectEditor.cs +++ b/Xamarin.PropertyEditing.Tests/MockObjectEditor.cs @@ -119,9 +119,11 @@ namespace Xamarin.PropertyEditing.Tests if (this.assignableTypes == null) { return Task.Run<IReadOnlyList<ITypeInfo>> (() => { return AppDomain.CurrentDomain.GetAssemblies().SelectMany (a => a.GetTypes()).AsParallel() - .Where (t => property.Type.IsAssignableFrom (t) && t.Namespace != null && !t.IsAbstract && !t.IsInterface && t.IsPublic) - .Select (t => new TypeInfo (new AssemblyInfo (t.Assembly.GetName().Name, true), t.Namespace, t.Name)) - .ToList(); + .Where (t => property.Type.IsAssignableFrom (t) && t.GetConstructor (Type.EmptyTypes) != null && t.Namespace != null && !t.IsAbstract && !t.IsInterface && t.IsPublic) + .Select (t => { + string asmName = t.Assembly.GetName().Name; + return new TypeInfo (new AssemblyInfo (asmName, isRelevant: asmName.StartsWith ("Xamarin")), t.Namespace, t.Name); + }).ToList(); }); } else if (!this.assignableTypes.TryGetValue (property, out IReadOnlyList<ITypeInfo> types)) return Task.FromResult<IReadOnlyList<ITypeInfo>> (Enumerable.Empty<ITypeInfo>().ToArray()); |