2 // MonoTests.System.Web.Services.Description.OperationMessageCollectionTest.cs
5 // Erik LeBel <eriklebel@yahoo.ca>
10 using NUnit.Framework;
13 using System.Web.Services.Description;
16 namespace MonoTests.System.Web.Services.Description
19 public class OperationMessageCollectionTest
21 OperationMessageCollection operations;
24 public void InitializeOperation()
26 // workaround for internal constructor
27 Operation op = new Operation();
28 operations = op.Messages;
32 public void TestDefaultProperties()
34 Assertion.AssertEquals(OperationFlow.None, operations.Flow);
35 Assertion.AssertNull(operations.Input);
36 Assertion.AssertNull(operations.Output);
37 Assertion.AssertEquals(0, operations.Count);
41 public void TestAddInput()
43 operations.Add(new OperationInput());
45 Assertion.AssertEquals(OperationFlow.OneWay, operations.Flow);
46 Assertion.AssertNotNull(operations.Input);
47 Assertion.AssertNull(operations.Output);
48 Assertion.AssertEquals(1, operations.Count);
52 public void TestAddOutput()
54 operations.Add(new OperationOutput());
56 Assertion.AssertEquals(OperationFlow.Notification, operations.Flow);
57 Assertion.AssertNull(operations.Input);
58 Assertion.AssertNotNull(operations.Output);
59 Assertion.AssertEquals(1, operations.Count);
63 public void TestAddInputAndOutput()
65 operations.Add(new OperationInput());
66 operations.Add(new OperationOutput());
68 Assertion.AssertEquals(OperationFlow.RequestResponse, operations.Flow);
69 Assertion.AssertNotNull(operations.Input);
70 Assertion.AssertNotNull(operations.Output);
71 Assertion.AssertEquals(2, operations.Count);
75 public void TestAddOutputAndInput()
77 operations.Add(new OperationOutput());
78 operations.Add(new OperationInput());
80 Assertion.AssertEquals(OperationFlow.SolicitResponse, operations.Flow);
81 Assertion.AssertNotNull(operations.Input);
82 Assertion.AssertNotNull(operations.Output);
83 Assertion.AssertEquals(2, operations.Count);
87 [ExpectedException (typeof (ArgumentException))]
88 public void TestAddNull()
94 [ExpectedException (typeof (ArgumentException))]
95 public void TestAddFault()
97 operations.Add(new OperationFault());
101 [ExpectedException (typeof (InvalidOperationException))]
102 public void TestAddInputAndInput()
104 operations.Add(new OperationInput());
105 operations.Add(new OperationInput());
109 [ExpectedException (typeof (InvalidOperationException))]
110 public void TestAddOutputAndOutput()
112 operations.Add(new OperationOutput());
113 operations.Add(new OperationOutput());
117 [ExpectedException (typeof (InvalidOperationException))]
118 public void TestAddThreeOperationMessages()
120 operations.Add(new OperationOutput());
121 operations.Add(new OperationOutput());
122 operations.Add(new OperationOutput());
126 [ExpectedException (typeof (ArgumentException))]
127 public void TestAddInputAndFault()
129 operations.Add(new OperationInput());
130 operations.Add(new OperationFault());