OperationMessageCollectionTest.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. //
  2. // MonoTests.System.Web.Services.Description.OperationMessageCollectionTest.cs
  3. //
  4. // Author:
  5. // Erik LeBel <[email protected]>
  6. //
  7. // (C) 2003 Erik LeBel
  8. //
  9. using NUnit.Framework;
  10. using System;
  11. using System.Web.Services.Description;
  12. using System.Xml;
  13. namespace MonoTests.System.Web.Services.Description
  14. {
  15. [TestFixture]
  16. public class OperationMessageCollectionTest
  17. {
  18. OperationMessageCollection operations;
  19. [SetUp]
  20. public void InitializeOperation()
  21. {
  22. // workaround for internal constructor
  23. Operation op = new Operation();
  24. operations = op.Messages;
  25. }
  26. [Test]
  27. public void TestDefaultProperties()
  28. {
  29. Assertion.AssertEquals(OperationFlow.None, operations.Flow);
  30. Assertion.AssertNull(operations.Input);
  31. Assertion.AssertNull(operations.Output);
  32. Assertion.AssertEquals(0, operations.Count);
  33. }
  34. [Test]
  35. public void TestAddInput()
  36. {
  37. operations.Add(new OperationInput());
  38. Assertion.AssertEquals(OperationFlow.OneWay, operations.Flow);
  39. Assertion.AssertNotNull(operations.Input);
  40. Assertion.AssertNull(operations.Output);
  41. Assertion.AssertEquals(1, operations.Count);
  42. }
  43. [Test]
  44. public void TestAddOutput()
  45. {
  46. operations.Add(new OperationOutput());
  47. Assertion.AssertEquals(OperationFlow.Notification, operations.Flow);
  48. Assertion.AssertNull(operations.Input);
  49. Assertion.AssertNotNull(operations.Output);
  50. Assertion.AssertEquals(1, operations.Count);
  51. }
  52. [Test]
  53. public void TestAddInputAndOutput()
  54. {
  55. operations.Add(new OperationInput());
  56. operations.Add(new OperationOutput());
  57. Assertion.AssertEquals(OperationFlow.RequestResponse, operations.Flow);
  58. Assertion.AssertNotNull(operations.Input);
  59. Assertion.AssertNotNull(operations.Output);
  60. Assertion.AssertEquals(2, operations.Count);
  61. }
  62. [Test]
  63. public void TestAddOutputAndInput()
  64. {
  65. operations.Add(new OperationOutput());
  66. operations.Add(new OperationInput());
  67. Assertion.AssertEquals(OperationFlow.SolicitResponse, operations.Flow);
  68. Assertion.AssertNotNull(operations.Input);
  69. Assertion.AssertNotNull(operations.Output);
  70. Assertion.AssertEquals(2, operations.Count);
  71. }
  72. [Test]
  73. [ExpectedException (typeof (ArgumentException))]
  74. public void TestAddNull()
  75. {
  76. operations.Add(null);
  77. }
  78. [Test]
  79. [ExpectedException (typeof (ArgumentException))]
  80. public void TestAddFault()
  81. {
  82. operations.Add(new OperationFault());
  83. }
  84. [Test]
  85. [ExpectedException (typeof (InvalidOperationException))]
  86. public void TestAddInputAndInput()
  87. {
  88. operations.Add(new OperationInput());
  89. operations.Add(new OperationInput());
  90. }
  91. [Test]
  92. [ExpectedException (typeof (InvalidOperationException))]
  93. public void TestAddOutputAndOutput()
  94. {
  95. operations.Add(new OperationOutput());
  96. operations.Add(new OperationOutput());
  97. }
  98. [Test]
  99. [ExpectedException (typeof (InvalidOperationException))]
  100. public void TestAddThreeOperationMessages()
  101. {
  102. operations.Add(new OperationOutput());
  103. operations.Add(new OperationOutput());
  104. operations.Add(new OperationOutput());
  105. }
  106. [Test]
  107. [ExpectedException (typeof (ArgumentException))]
  108. public void TestAddInputAndFault()
  109. {
  110. operations.Add(new OperationInput());
  111. operations.Add(new OperationFault());
  112. }
  113. }
  114. }