[bcl] Remove NET_3_5 defines from class libs
[mono.git] / mcs / class / System.ServiceModel / Test / System.ServiceModel.Configuration / ServiceModelSectionGroupTest.cs
1 //
2 // ServiceModelSectionGroupTest.cs
3 //
4 // Author:
5 //      Atsushi Enomoto <atsushi@ximian.com>
6 //
7 // Copyright (C) 2006 Novell, Inc.  http://www.novell.com
8 //
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
16 // 
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
19 // 
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 //
28
29 using System;
30 using System.Collections.Generic;
31 using System.Configuration;
32 using System.Runtime.Serialization;
33 using System.ServiceModel;
34 using System.ServiceModel.Channels;
35 using System.ServiceModel.Configuration;
36 using System.Text;
37 using System.Xml;
38
39 using NUnit.Framework;
40
41 using ConfigurationType = System.Configuration.Configuration;
42
43 namespace MonoTests.System.ServiceModel.Configuration
44 {
45         [TestFixture]
46         public class ServiceModelSectionGroupTest
47         {
48                 ServiceModelSectionGroup GetConfig (string file)
49                 {
50                         // FIXME: this should work.
51                         //ConfigurationType c = ConfigurationManager.OpenExeConfiguration (file);
52                         //return ServiceModelSectionGroup.GetSectionGroup (c);
53
54                         return (ServiceModelSectionGroup) ConfigurationManager.OpenExeConfiguration (file).GetSectionGroup ("system.serviceModel");
55                 }
56
57                 [Test]
58                 public void GetSectionGroup ()
59                 {
60                         ServiceModelSectionGroup g = GetConfig ("Test/config/test1");
61                         Assert.IsNotNull (g.Bindings, "bindings");
62                         Assert.IsNotNull (g.Client, "client");
63                         Assert.IsNotNull (g.Services, "services");
64                         Assert.IsNotNull (g.Client.Endpoints, "client/endpoint*");
65                 }
66
67                 [Test]
68                 [Category ("NotWorking")]
69                 [Ignore ("fails under .NET; I never bothered to fix the test")]
70                 public void BindingCollections () {
71                         ServiceModelSectionGroup g = GetConfig ("Test/config/test1.config");
72                         List<BindingCollectionElement> coll = g.Bindings.BindingCollections;
73                         Assert.AreEqual (20, coll.Count, "Count");
74                 }
75
76                 [Test]
77                 public void Endpoints ()
78                 {
79                         ServiceModelSectionGroup g = GetConfig ("Test/config/test1");
80                         ChannelEndpointElementCollection col = g.Client.Endpoints;
81                         Assert.AreEqual (1, col.Count, "initial count");
82                         ChannelEndpointElement e = col [0];
83                         Assert.AreEqual (String.Empty, e.Name, "0.Name");
84                         Assert.AreEqual ("IFoo", e.Contract, "0.Contract");
85                         Assert.AreEqual ("basicHttpBinding", e.Binding, "0.Binding");
86                         col.Add (new ChannelEndpointElement ());
87                         Assert.AreEqual (2, col.Count, "after Add()");
88                 }
89         }
90 }