| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- // ServiceContainerTest.cs - NUnit Test Cases for System.ComponentModel.Design.ServiceContainer
- //
- // Alexandre Pigolkine ([email protected])
- //
- // (C) Alexandre Pigolkine ([email protected])
- //
- using NUnit.Framework;
- using System;
- using System.ComponentModel.Design;
- namespace MonoTests.System.ComponentModel.Design
- {
- // Helper classes
-
- class NotInSvc
- {
- public NotInSvc()
- {
- }
- }
-
- class Svc
- {
- public Svc ()
- {
- }
-
- private static int objectsCreatedByCallback = 0;
-
- public static int TotalObjectsCreatedByCallback {
- get { return objectsCreatedByCallback; }
- }
-
- public static object ServiceCreator (IServiceContainer isc, Type tp)
- {
- Assertion.AssertEquals ("ServiceCreator#01", tp, typeof (Svc));
- ++objectsCreatedByCallback;
- return new Svc();
- }
- }
-
- [TestFixture]
- public class ServiceContainerTest : Assertion {
-
- [Test]
- public void GeneralTest1 ()
- {
- ServiceContainer sc = new ServiceContainer ();
-
- sc.AddService (typeof (Svc), new Svc());
- Svc service1 = sc.GetService (typeof (Svc)) as Svc;
- AssertNotNull ("GT1#01", service1);
- AssertEquals ("GT1#02", service1, sc.GetService (typeof (Svc)));
- AssertNull ("GT1#04", sc.GetService (typeof (NotInSvc)));
- }
- [Test, ExpectedException (typeof (ArgumentException))]
- public void GeneralTest2 ()
- {
- ServiceContainer sc = new ServiceContainer ();
-
- sc.AddService (typeof (Svc), new Svc());
- Svc service1 = sc.GetService (typeof (Svc)) as Svc;
- AssertNotNull ("GT1#01", service1);
- AssertEquals ("GT1#02", service1, sc.GetService (typeof (Svc)));
-
- sc.AddService (typeof (Svc), new Svc());
- }
- [Test]
- public void TestServiceCreator ()
- {
- ServiceContainer sc = new ServiceContainer ();
- sc.AddService(typeof(Svc), new ServiceCreatorCallback(Svc.ServiceCreator));
- AssertNull ("TSC#01", sc.GetService (typeof(NotInSvc)));
-
- Svc service1 = sc.GetService (typeof(Svc)) as Svc;
- AssertNotNull ("TSC#02", service1);
- AssertEquals ("TSC#03", Svc.TotalObjectsCreatedByCallback, 1);
-
- Svc service2 = sc.GetService (typeof(Svc)) as Svc;
- AssertEquals ("TSC#04", service2, service1);
- AssertEquals ("TSC#05", Svc.TotalObjectsCreatedByCallback, 1);
- }
-
- [Test]
- public void TestParentService ()
- {
- ServiceContainer scParent = new ServiceContainer();
- ServiceContainer sc = new ServiceContainer(scParent);
-
- scParent.AddService(typeof(Svc), new Svc());
-
- Svc service1 = sc.GetService (typeof(Svc)) as Svc;
- AssertNotNull ("TPS#01", service1);
-
- }
- }
- }
|