Example #1
0
 private void register(string group, string name, string caption, Action testMethod, bool debug, params string[] dependencies)
 {
     Dictionary<string, RegisteredTest> groupDict = null;
     if( !tests.TryGetValue(group, out groupDict) ){
         tests[group] = groupDict = new Dictionary<string,RegisteredTest>();
     }
     if (!groupDict.ContainsKey(name)) {
         groupDict[name] = new RegisteredTest {
             Group = group,
             Name = name,
             Caption = caption,
             Method = testMethod,
             Dependencies = dependencies,
             Debug = debug
         };
     } else {
         throw new ApplicationException("That test id (group,name) is already regged!");
     }
 }
Example #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var config = new ConfigurationBuilder()
                         .AddCommandLine(args)
                         .Build();

            var tokenSource = new CancellationTokenSource();

            void OnCancelKey(object sender, ConsoleCancelEventArgs e)
            {
                tokenSource.Cancel();
            }

            Console.CancelKeyPress += OnCancelKey;
            var container = new UnityContainer();

            Register(container);
            Func <IUnityContainer> containerFactory = ((IUnityContainer)container).CreateChildContainer;

            try
            {
                PageObservableTest(container, tokenSource.Token).Wait(tokenSource.Token);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            var tests = new RegisteredTest[]
            {
                new RegisteredTest
                {
                    Name = nameof(PageObservableTest),
                    Test = u => PageObservableTest(u, tokenSource.Token)
                },
                new RegisteredTest
                {
                    Name = nameof(BroadcastWithoutLossTest),
                    Test = u => BroadcastWithoutLossTest(u, tokenSource.Token)
                }
            };

            var context   = new MyContext();
            var passCount = 0;

            for (var testIndex = 0; testIndex < tests.Length; testIndex++)
            {
                var test = tests[testIndex];
                Console.WriteLine($"======= Starting test #{testIndex+1} : {test.Name}  ======");
                bool?passed = null;
                try
                {
                    Run(containerFactory, test.Test, context, tokenSource.Token).Wait(tokenSource.Token);
                    passed = true;
                    passCount++;
                }
                catch (Exception e)
                {
                    passed = false;
                    Console.WriteLine(e);
                }

                var passMessage = passed == null
                    ? "unknown"
                    : passed.Value
                        ? "passed"
                        : "failed";
                Console.WriteLine($"== test #{testIndex+1} : {test.Name} Finished - {passMessage}");
            }
            Console.WriteLine();
            Console.WriteLine($"{passCount} passed out of {tests.Length}");
        }