Refactored the Kernel registration fluent interface to be more readable, better suppo...
[castle.git] / InversionOfControl / Castle.Windsor.Tests / Installer / InstallerTestCase.cs
blob7d2b274954336421d5823bba62e6f80365bd2e99
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.Windsor.Tests.Installer
17 using Castle.Windsor.Tests.Components;
18 using NUnit.Framework;
20 [TestFixture]
21 public class InstallerTestCase
23 [Test]
24 public void InstallCalcService()
26 WindsorContainer container = new WindsorContainer(ConfigHelper.ResolveConfigPath("installerconfig.xml"));
28 Assert.IsTrue(container.Kernel.HasComponent(typeof(ICalcService)));
29 Assert.IsTrue(container.Kernel.HasComponent("calcservice"));
32 [Test]
33 public void InstallChildContainer()
35 IWindsorContainer container = new WindsorContainer(ConfigHelper.ResolveConfigPath("installerconfig.xml"));
36 IWindsorContainer child1 = container.GetChildContainer("child1");
38 Assert.IsNotNull(child1);
39 Assert.AreEqual(child1.Parent, container);
40 Assert.IsTrue(child1.Kernel.HasComponent(typeof(ICalcService)));
41 Assert.IsTrue(child1.Kernel.HasComponent("child_calcservice"));
43 ICalcService calcservice = container.Resolve("calcservice") as ICalcService;
44 ICalcService child_calcservice = child1.Resolve(typeof(ICalcService)) as ICalcService;
45 Assert.AreNotEqual(calcservice, child_calcservice);