summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Loader/TestType.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Loader/TestType.cs')
-rw-r--r--Xamarin.Forms.Loader/TestType.cs41
1 files changed, 41 insertions, 0 deletions
diff --git a/Xamarin.Forms.Loader/TestType.cs b/Xamarin.Forms.Loader/TestType.cs
new file mode 100644
index 00000000..50e0e639
--- /dev/null
+++ b/Xamarin.Forms.Loader/TestType.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using NUnit.Framework;
+
+namespace Xamarin.Forms.Loader
+{
+ internal sealed class TestType : ILoaderElement
+ {
+ readonly IEnumerable<CategoryAttribute> _categories;
+ readonly IEnumerable<TestMember> _members;
+
+ internal TestType(FormsLoader formsLoader, Type type)
+ {
+ FormsLoader = formsLoader;
+ Type = type;
+
+ _members =
+ from o in Type.GetMethods()
+ where !o.IsSetupOrTearDown() && !o.IsEqualityOverride() && !o.IsToStringOverride()
+ select new TestMember(this, o);
+
+ _categories = type.GetCustomAttributes<CategoryAttribute>();
+ }
+
+ public FormsLoader FormsLoader { get; }
+
+ public Type Type { get; }
+
+ public IEnumerable<TestMember> Members()
+ {
+ return _members;
+ }
+
+ public IEnumerable<CategoryAttribute> Categories()
+ {
+ return _categories;
+ }
+ }
+} \ No newline at end of file