blob: 9de39f2127e4d0ce159a49ca35ba4213f989046a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
using System;
using System.Collections.Generic;
using System.Diagnostics;
using Xamarin.Forms.CustomAttributes;
using Xamarin.Forms.Loader;
namespace Xamarin.Forms.UITest.Validator
{
internal class LoaderActions
{
readonly IEnumerable<TestType> _androidTestTypes;
readonly IEnumerable<TestType> _iOsTestTypes;
public LoaderActions()
{
var formsLoader = new FormsLoader();
FormsTypes = formsLoader.FormsTypes();
_iOsTestTypes = formsLoader.IOSTestTypes();
_androidTestTypes = formsLoader.AndroidTestTypes();
TypeiOsuiTestDictionary = BuildTypeUiTestDictionary(_iOsTestTypes);
TypeAndroidUiTestDictionary = BuildTypeUiTestDictionary(_androidTestTypes);
Debug.WriteLine("HI");
}
internal IEnumerable<FormsType> FormsTypes { get; }
internal Dictionary<Type, List<FormsUiTest>> TypeiOsuiTestDictionary { get; }
internal Dictionary<Type, List<FormsUiTest>> TypeAndroidUiTestDictionary { get; }
Dictionary<Type, List<FormsUiTest>> BuildTypeUiTestDictionary(IEnumerable<TestType> testTypes)
{
var result = new Dictionary<Type, List<FormsUiTest>>();
foreach (TestType testType in testTypes)
{
foreach (TestMember testMember in testType.Members())
{
IEnumerable<UiTestAttribute> testAttrs = testMember.UiTestAttributes();
foreach (UiTestAttribute testAttr in testAttrs)
{
Type type = testAttr.Type;
string memberName = testAttr.MemberName;
string testName = testMember.MemberInfo.Name;
if (!result.ContainsKey(type))
result.Add(type, new List<FormsUiTest> { new FormsUiTest(memberName, testName) });
else
result[type].Add(new FormsUiTest(memberName, testName));
}
}
}
return result;
}
}
}
|