2 WARNING: This code was generated by a tool.
3 Changes to this file will be lost if the code is regenerated
7 using System
.Threading
;
9 using System
.Web
.Services
.Protocols
;
11 using ConvDocLitBarTests
.Soap
;
13 namespace Localhost
.ConvDocLitBarTests
16 public class ConverterTest
: WebServiceTest
19 public void TestService ()
21 ConverterService cs
= new ConverterService ();
23 cs
.SetCurrencyRate ("EUR", 0.5);
24 Assert
.AreEqual (0.5, cs
.GetCurrencyRate ("EUR"), "#1");
26 double res
= cs
.Convert ("EUR","USD",6);
27 Assert
.AreEqual ((int)res
, (int)12, "#2");
29 CurrencyInfo
[] infos
= cs
.GetCurrencyInfo ();
30 Assert
.IsNotNull (infos
, "infos");
32 foreach (CurrencyInfo info
in infos
)
35 Assert
.IsNotNull (info
.Name
, "info.Name");
39 case "USD": val
= 1; break;
40 case "EUR": val
= 0.5; break;
41 case "GBP": val
= 0.611817; break;
42 case "JPY": val
= 118.271; break;
43 case "CAD": val
= 1.36338; break;
44 case "AUD": val
= 1.51485; break;
45 case "CHF": val
= 1.36915; break;
46 case "RUR": val
= 30.4300; break;
47 case "CNY": val
= 8.27740; break;
48 case "ZAR": val
= 7.62645; break;
49 case "MXN": val
= 10.5025; break;
51 Assert
.AreEqual (val
, info
.Rate
, "#3 " + info
.Name
);
53 cs
.SetCurrencyRate ("EUR", 0.9);
62 AutoResetEvent eve
= new AutoResetEvent (false);
65 public void AsyncTestService ()
68 acs
= new ConverterService ();
70 ar
= acs
.BeginLogin ("lluis", null, null);
73 acs
.BeginSetCurrencyRate ("EUR", 0.5, new AsyncCallback(Callback1
), null);
75 Assert
.IsTrue (eve
.WaitOne (5000, false), "#0");
76 Assert
.IsTrue (a1
, "#1");
78 Assert
.IsTrue (eve
.WaitOne (5000, false), "#2");
79 Assert
.IsTrue (a2
, "#3");
81 Assert
.IsTrue (eve
.WaitOne (5000, false), "#4");
82 Assert
.IsTrue (a3
, "#5");
85 void Callback1 (IAsyncResult ar
)
87 acs
.EndSetCurrencyRate (ar
);
88 acs
.BeginGetCurrencyRate ("EUR", new AsyncCallback(Callback2
), null);
91 void Callback2 (IAsyncResult ar
)
93 double res
= acs
.EndGetCurrencyRate (ar
);
97 acs
.BeginConvert ("EUR","USD",6, new AsyncCallback(Callback3
), null);
100 void Callback3 (IAsyncResult ar
)
102 double res
= acs
.EndConvert (ar
);
106 acs
.BeginGetCurrencyInfo (new AsyncCallback(Callback4
),null);
109 void Callback4 (IAsyncResult ar
)
111 CurrencyInfo
[] infos
= acs
.EndGetCurrencyInfo (ar
);
113 foreach (CurrencyInfo info
in infos
)
118 case "USD": val
= 1; break;
119 case "EUR": val
= 0.5; break;
120 case "GBP": val
= 0.611817; break;
121 case "JPY": val
= 118.271; break;
122 case "CAD": val
= 1.36338; break;
123 case "AUD": val
= 1.51485; break;
124 case "CHF": val
= 1.36915; break;
125 case "RUR": val
= 30.4300; break;
126 case "CNY": val
= 8.27740; break;
127 case "ZAR": val
= 7.62645; break;
128 case "MXN": val
= 10.5025; break;
130 a3
= (val
== info
.Rate
);
137 public void TestException ()
139 ConverterService cs
= new ConverterService ();
142 cs
.SetCurrencyRate ("EUR", 0.5);
145 catch (SoapException ex
)
147 Assert
.IsTrue (ex
.Message
.IndexOf ("User not logged") != -1, "#1");
148 Assert
.AreEqual (SoapException
.ServerFaultCode
, ex
.Code
, "#2");
153 public void AsyncTestException ()
155 ConverterService cs
= new ConverterService ();
156 IAsyncResult ar
= cs
.BeginSetCurrencyRate ("EUR", 0.5, null, null);
159 cs
.EndSetCurrencyRate (ar
);
162 catch (SoapException ex
)
164 Assert
.IsTrue (ex
.Message
.IndexOf ("User not logged") != -1, "#1");
165 Assert
.AreEqual (SoapException
.ServerFaultCode
, ex
.Code
, "#2");
170 public void TestObjectReturn ()
172 ConverterServiceExtraTest et
= new ConverterServiceExtraTest ();
174 // Test the Discover method.
175 et
.Url
= "http://localhost:8080/ConvDocLitBar.asmx?disco";
179 object res
= et
.GetTestInfo ("hi", out d
);
181 Assert
.AreEqual ("iii", d
, "t1");
182 Assert
.IsNotNull (res
, "t2");
183 Assert
.IsTrue (res
is XmlNode
[], "t3");
184 XmlNode
[] nods
= res
as XmlNode
[];
185 Assert
.AreEqual (5, nods
.Length
, "t4");
187 Assert
.IsTrue (nods
[0] is XmlAttribute
, "t5");
188 XmlAttribute at
= nods
[0] as XmlAttribute
;
189 Assert
.AreEqual ("id", at
.LocalName
, "t6");
191 Assert
.IsTrue (nods
[1] is XmlAttribute
, "t7");
192 at
= nods
[1] as XmlAttribute
;
193 Assert
.AreEqual ("type", at
.LocalName
, "t8");
195 Assert
.IsTrue (nods
[2] is XmlAttribute
, "t9");
196 at
= nods
[2] as XmlAttribute
;
198 Assert
.IsTrue (nods
[3] is XmlElement
, "t10");
199 XmlElement el
= nods
[3] as XmlElement
;
200 Assert
.AreEqual ("a", el
.Name
, "t11");
202 Assert
.IsTrue (nods
[4] is XmlElement
, "t12");
203 el
= nods
[4] as XmlElement
;
204 Assert
.AreEqual ("b", el
.Name
, "t13");
208 public void TestUnknownHeaders ()
210 ConverterServiceExtraTest et
= new ConverterServiceExtraTest ();
211 et
.Url
= "http://localhost:8080/ConvDocLitBar.asmx";
213 et
.myUserInfo
= new MyUserInfo ();
214 et
.myUserInfo
.userId
= 5;
215 et
.myUserInfo
.Actor
= "hi";
217 et
.TestUnknownHeader1 ();
219 et
.TestUnknownHeader2 ();
221 int res
= et
.TestUnknownHeader3 ();
222 Assert
.AreEqual (5, res
, "TestUnknownHeader3");
224 res
= et
.TestUnknownHeader4 ();
225 Assert
.AreEqual (5, res
, "TestUnknownHeader4");
229 [System
.Web
.Services
.WebServiceBindingAttribute(Name
="ConverterServiceSoap", Namespace
="urn:mono-ws-tests")]
230 public class ConverterServiceExtraTest
: System
.Web
.Services
.Protocols
.SoapHttpClientProtocol
232 public MyUserInfo myUserInfo
;
234 [System
.Web
.Services
.Protocols
.SoapDocumentMethodAttribute("urn:mono-ws-tests/GetTestInfo", RequestNamespace
="urn:mono-ws-tests", ResponseNamespace
="urn:mono-ws-tests" , Use
=System
.Web
.Services
.Description
.SoapBindingUse
.Literal
, ParameterStyle
=SoapParameterStyle
.Bare
)]
235 public object GetTestInfo(string s
, out string d
) {
236 object[] results
= this.Invoke("GetTestInfo", new object[] {s}
);
237 d
= (string) results
[1];
238 return ((object)(results
[0]));
241 [System
.Web
.Services
.Protocols
.SoapHeaderAttribute("myUserInfo")]
242 [System
.Web
.Services
.Protocols
.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader1",RequestNamespace
="urn:mono-ws-tests",ResponseNamespace
="urn:mono-ws-tests" , Use
=System
.Web
.Services
.Description
.SoapBindingUse
.Literal
, ParameterStyle
=SoapParameterStyle
.Bare
)]
243 public virtual void TestUnknownHeader1() {
244 this.Invoke("TestUnknownHeader1", new object[0]);
247 [System
.Web
.Services
.Protocols
.SoapHeaderAttribute("myUserInfo")]
248 [System
.Web
.Services
.Protocols
.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader2",RequestNamespace
="urn:mono-ws-tests",ResponseNamespace
="urn:mono-ws-tests" , Use
=System
.Web
.Services
.Description
.SoapBindingUse
.Literal
, ParameterStyle
=SoapParameterStyle
.Bare
)]
249 public virtual void TestUnknownHeader2() {
250 this.Invoke("TestUnknownHeader2", new object[0]);
253 [System
.Web
.Services
.Protocols
.SoapHeaderAttribute("myUserInfo")]
254 [System
.Web
.Services
.Protocols
.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader3",RequestNamespace
="urn:mono-ws-tests",ResponseNamespace
="urn:mono-ws-tests" , Use
=System
.Web
.Services
.Description
.SoapBindingUse
.Literal
, ParameterStyle
=SoapParameterStyle
.Bare
)]
255 public virtual int TestUnknownHeader3() {
256 System
.Object
[] results
= this.Invoke("TestUnknownHeader3", new object[0]);
257 return ((int)(results
[0]));
260 [System
.Web
.Services
.Protocols
.SoapHeaderAttribute("myUserInfo")]
261 [System
.Web
.Services
.Protocols
.SoapDocumentMethodAttribute("urn:mono-ws-tests/TestUnknownHeader4",RequestNamespace
="urn:mono-ws-tests",ResponseNamespace
="urn:mono-ws-tests" , Use
=System
.Web
.Services
.Description
.SoapBindingUse
.Literal
, ParameterStyle
=SoapParameterStyle
.Bare
)]
262 public virtual int TestUnknownHeader4() {
263 System
.Object
[] results
= this.Invoke("TestUnknownHeader4", new object[0]);
264 return ((int)(results
[0]));
268 public class MyUserInfo
: System
.Web
.Services
.Protocols
.SoapHeader