Added ifdef DOTNET35
[castle.git] / InversionOfControl / Castle.MicroKernel.Tests / Bugs / IoC-117.cs
blobb0c003f76cc5ff2ab5a42f223488dedec8d30088
1 // Copyright 2004-2008 Castle Project - http://www.castleproject.org/
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 namespace Castle.MicroKernel.Tests.Bugs
17 using System;
18 using NUnit.Framework;
20 [TestFixture]
21 public class IoC_117
23 [Test]
24 public void Public_property_with_Protected_setter_causes_Object_Reference_exception()
26 IKernel kernel = new DefaultKernel();
28 kernel.AddComponent<Presenter>();
29 kernel.AddComponent<View>();
31 try
33 Presenter p = (Presenter)kernel.Resolve(typeof(Presenter));
34 Assert.IsNotNull(p);
36 catch (NullReferenceException)
38 Assert.Fail("Should not have thrown a NullReferenceException");
43 public class Presenter
45 private View view;
47 public virtual View View
49 get { return view; }
50 protected set { view = value;}
54 public class View