Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mcs / tests / test-async-87.cs
1 using System;
2 using System.Threading.Tasks;
3
4 class CA
5 {
6         public CB CB { get; set; }
7         public DeviceDetails DeviceDetails { get; set; }
8 }
9
10 class CB
11 {
12         public CB (string arg)
13         {
14         }
15 }
16
17 class DeviceDetails
18 {
19         public DeviceDetails (string arg)
20         {
21         }
22 }
23
24 class BB
25 {
26         public Task<string> GetUser()
27         {        
28                 return Task.FromResult ("aa");
29         }
30
31         public Task<string> GetDevice()
32         {
33                 return Task.FromResult ("bb");
34         }    
35 }
36
37 class X
38 {
39         BB bb = new BB ();
40
41         public async Task<CA> GetCAAsync()
42         {
43                 return new CA
44                 {
45                         CB = new CB(await bb.GetUser()),
46                         DeviceDetails = new DeviceDetails(await bb.GetDevice())
47                 };
48         }
49
50         static void Main ()
51         {
52                 var x = new X ();
53                 x.GetCAAsync ().Wait ();
54         }
55 }