示例#1
0
 public async Task Setup()
 {
     Log.Register(Log.ConsoleLogger);
     _domain       = new TestDomain();
     _taskListName = Guid.NewGuid().ToString();
     _activityHost = await HostAsync(typeof(EmailConfirmActivity), typeof(ActivateUser), typeof(OrderActivity), typeof(ChargeCustomer));
 }
示例#2
0
        public void Setup()
        {
            _amazonSimpleWorkflow = new Mock <IAmazonSimpleWorkflow>();
            var domain = new Domain("name", _amazonSimpleWorkflow.Object);

            _activityHost = new ActivityHost(domain, new[] { typeof(ErrorThrowingActivity) });
        }
示例#3
0
        private void ProcessNewActivity(FunctionActivity activity)
        {
            if (activity == null)
            {
                return;
            }

            var viewFactory = ActivityViewFactories.FirstOrDefault(f => f.Metadata.TargetType == activity.GetType());

            if (viewFactory == null)
            {
                return;
            }

            var view = viewFactory.CreateExport().Value;

            view.Caption  = viewFactory.Metadata.Caption;
            view.Activity = activity;

            var position = (activity.IsPropertyDefined(DesignProperties.PositionX) && activity.IsPropertyDefined(DesignProperties.PositionY))
        ? new Point(Convert.ToDouble(activity.GetValue(DesignProperties.PositionX)), Convert.ToDouble(activity.GetValue(DesignProperties.PositionY)))
        : new Point(0, 0);

            var host = new ActivityHost(activity.Id, view, position);

            _surface.Children.Add(host);
        }
示例#4
0
        async Task GameMain(ActivityHost host)
        {
            while (true)
            {
                switch (await ShowTitle(host))
                {
                    case TitleScreen.Result.Credits:
                        await ShowCredits(host);
                        break;
                    case TitleScreen.Result.HowToPlay:
                        await ShowHowToPlay(host);
                        break;
                    case TitleScreen.Result.Play:
                        await RunGamePlay(host);
                        break;
#if ANDROID
                    case TitleScreen.Result.Leaderboards:
                        await ShowLeaderboards(host);
                        break;
#endif
                    case TitleScreen.Result.Exit:
                        return;
                }
            }
        }
        public void Setup()
        {
            _amazonSimpleWorkflow = new Mock <IAmazonSimpleWorkflow>();
            var domain = new Domain("name", _amazonSimpleWorkflow.Object);

            _activityHost = new ActivityHost(domain, new[] { typeof(TestActivity) }, t => new TestActivity(ActivityResult));
            TestActivity.Reset();
        }
示例#6
0
        public async Task Setup()
        {
            Log.Register(Log.ConsoleLogger);
            _domain       = new TestDomain();
            _taskListName = Guid.NewGuid().ToString();
            _activityHost = await HostAsync(typeof(FailingActivity));

            FailingActivity.ExecutionTimes = 0;
        }
示例#7
0
        public void By_default_execution_exception_are_not_handled()
        {
            var workerTask = WorkerTask.CreateFor(new ActivityTask
            {
                ActivityType = new ActivityType()
                {
                    Name = "ActivityThrowsException", Version = "1.0"
                },
                WorkflowExecution = new WorkflowExecution()
                {
                    RunId = "runid", WorkflowId = "wid"
                },
                TaskToken = "token"
            }, Mock.Of <IHeartbeatSwfApi>());
            var hostedActivities = new ActivityHost(_domain, new[] { typeof(ActivityThrowsException) });

            Assert.ThrowsAsync <InvalidOperationException>(async() => await workerTask.ExecuteFor(hostedActivities));
        }
示例#8
0
        public async Task Execution_exception_can_be_handled_to_retry()
        {
            var workerTask = WorkerTask.CreateFor(new ActivityTask
            {
                ActivityType = new ActivityType()
                {
                    Name = "ActivityThrowsException", Version = "1.0"
                },
                WorkflowExecution = new WorkflowExecution()
                {
                    RunId = "runid", WorkflowId = "wid"
                },
                TaskToken = "token"
            }, Mock.Of <IHeartbeatSwfApi>());
            var hostedActivities = new ActivityHost(_domain, new [] { typeof(ActivityThrowsException) });

            workerTask.SetErrorHandler(ErrorHandler.Default(e => ErrorAction.Retry));

            var response = await workerTask.ExecuteFor(hostedActivities);

            Assert.That(response, Is.EqualTo(new ActivityCompleteResponse("token", "result")));
        }
示例#9
0
 public async Task Setup()
 {
     _domain       = new TestDomain();
     _taskListName = Guid.NewGuid().ToString();
     _activityHost = await HostAsync(typeof(DownloadActivity), typeof(TranscodeActivity), typeof(SendEmailActivity));
 }
示例#10
0
 public void Setup()
 {
     _domain       = new Domain("name", new Mock <IAmazonSimpleWorkflow>().Object);
     _activityHost = new ActivityHost(_domain, new[] { typeof(TestActivity) });
 }
示例#11
0
        public void Default_polling_identity_is_machine_name()
        {
            var host = new ActivityHost(_domain, new[] { typeof(TestActivity1) });

            Assert.That(host.PollingIdentity, Is.EqualTo(Environment.GetEnvironmentVariable("COMPUTERNAME")));
        }
示例#12
0
 ContextTaskAwaitable<TitleScreen.Result> ShowTitle(ActivityHost host)
 {
     return host.Run<TitleScreen, TitleScreen.Result>();
 }
示例#13
0
 async Task RunGamePlay(ActivityHost host)
 {
     var result = await host.Run<GamePlayScreen, int>();
     if(result >= 0)
         await host.Run<ResultsScreen>(result);
 }
示例#14
0
 ContextTaskAwaitable ShowLeaderboards(ActivityHost host)
 {
     return host.Run<LeaderboardsScreen>();
 }
示例#15
0
 ContextTaskAwaitable ShowHowToPlay(ActivityHost host)
 {
     return host.Run<HowToPlayScreen>();
 }
示例#16
0
 ContextTaskAwaitable ShowCredits(ActivityHost host)
 {
     return host.Run<CreditsScreen>();
 }
示例#17
0
 public async Task Setup()
 {
     _domain       = new TestDomain();
     _taskListName = Guid.NewGuid().ToString();
     _activityHost = await HostAsync(typeof(TestActivity));
 }
示例#18
0
        public void Default_polling_identity_is_machine_name()
        {
            var host = new ActivityHost(_domain, new[] { typeof(TestActivity1) });

            Assert.That(host.PollingIdentity, Is.EqualTo(Environment.MachineName));
        }