Inheritance: Spring.Objects.Factory.Config.AbstractFactoryObject
Esempio n. 1
0
        public void GetObjectWithoutSupplyingASourceDictionary()
        {
            DictionaryFactoryObject dfo = new DictionaryFactoryObject();

            dfo.IsSingleton = false;
            dfo.GetObject();
        }
        public void GetObjectReallyDoesPopulateANewIDictionaryInstanceWithTheElementsOfTheSourceDictionary()
        {
            // man, that has got to be my longest ever test name :D ...
            IDictionary source = new Hashtable();
            TestObject  rick   = new TestObject("Rick", 30);

            source.Add(rick.Name, rick);
            TestObject mark = new TestObject("Mark", 35);

            source.Add(mark.Name, mark);
            TestObject griffin = new TestObject("Griffin", 21);

            source.Add(griffin.Name, griffin);

            DictionaryFactoryObject dfo = new DictionaryFactoryObject();

            dfo.SourceDictionary = source;
            dfo.AfterPropertiesSet();

            IDictionary dic = (IDictionary)dfo.GetObject();

            Assert.IsNotNull(dic);
            Assert.AreEqual(source.Count, dic.Count);
            foreach (DictionaryEntry entry in dic)
            {
                string     name         = (string)entry.Key;
                TestObject dude         = (TestObject)entry.Value;
                TestObject originalDude = (TestObject)source[name];
                Assert.IsTrue(object.ReferenceEquals(dude, originalDude));
            }
        }
        public void GetObjectWithoutSupplyingASourceDictionary()
        {
            DictionaryFactoryObject dfo = new DictionaryFactoryObject();

            dfo.IsSingleton = false;
            Assert.Throws <ArgumentException>(() => dfo.GetObject(), "The 'SourceDictionary' property cannot be null (Nothing in Visual Basic.NET).");
        }
		public void GetObjectReallyDoesPopulateANewIDictionaryInstanceWithTheElementsOfTheSourceDictionary()
		{
			// man, that has got to be my longest ever test name :D ...
			IDictionary source = new Hashtable();
			TestObject rick = new TestObject("Rick", 30);
			source.Add(rick.Name, rick);
			TestObject mark = new TestObject("Mark", 35);
			source.Add(mark.Name, mark);
			TestObject griffin = new TestObject("Griffin", 21);
			source.Add(griffin.Name, griffin);

			DictionaryFactoryObject dfo = new DictionaryFactoryObject();
			dfo.SourceDictionary = source;
			dfo.AfterPropertiesSet();

			IDictionary dic = (IDictionary) dfo.GetObject();
			Assert.IsNotNull(dic);
			Assert.AreEqual(source.Count, dic.Count);
			foreach (DictionaryEntry entry in dic)
			{
				string name = (string) entry.Key;
				TestObject dude = (TestObject) entry.Value;
				TestObject originalDude = (TestObject) source[name];
				Assert.IsTrue(object.ReferenceEquals(dude, originalDude));
			}
		}
		public void GetObjectWithoutSupplyingASourceDictionary()
		{
			DictionaryFactoryObject dfo = new DictionaryFactoryObject();
			dfo.IsSingleton = false;
			dfo.GetObject();
		}
		public void SetTargetDictionaryTypeToNull()
		{
			DictionaryFactoryObject dfo = new DictionaryFactoryObject();
			dfo.TargetDictionaryType = null;
		}
		public void SetTargetDictionaryTypeToAbstractIDictionaryInterfaceType()
		{
			DictionaryFactoryObject dfo = new DictionaryFactoryObject();
			dfo.TargetDictionaryType = typeof (AbstractDictionary);
		}
		public void SetTargetDictionaryTypeToDerivedIDictionaryInterfaceType()
		{
			DictionaryFactoryObject dfo = new DictionaryFactoryObject();
			dfo.TargetDictionaryType = typeof (IExtendedDictionary);
		}
		public void SetTargetDictionaryTypeToAbstractIDictionaryInterfaceType()
		{
			DictionaryFactoryObject dfo = new DictionaryFactoryObject();
            Assert.Throws<ArgumentException>(() => dfo.TargetDictionaryType = typeof (AbstractDictionary), "The Type passed to the TargetDictionaryType property cannot be abstract (MustInherit in VisualBasic.NET); it must be a concrete class that implements the 'System.Collections.IDictionary' interface.");
		}
        public void SetTargetDictionaryTypeToAbstractIDictionaryInterfaceType()
        {
            DictionaryFactoryObject dfo = new DictionaryFactoryObject();

            Assert.Throws <ArgumentException>(() => dfo.TargetDictionaryType = typeof(AbstractDictionary), "The Type passed to the TargetDictionaryType property cannot be abstract (MustInherit in VisualBasic.NET); it must be a concrete class that implements the 'System.Collections.IDictionary' interface.");
        }
Esempio n. 11
0
        public void SetTargetDictionaryTypeToNull()
        {
            DictionaryFactoryObject dfo = new DictionaryFactoryObject();

            dfo.TargetDictionaryType = null;
        }
Esempio n. 12
0
        public void SetTargetDictionaryTypeToAbstractIDictionaryInterfaceType()
        {
            DictionaryFactoryObject dfo = new DictionaryFactoryObject();

            dfo.TargetDictionaryType = typeof(AbstractDictionary);
        }
Esempio n. 13
0
        public void SetTargetDictionaryTypeToDerivedIDictionaryInterfaceType()
        {
            DictionaryFactoryObject dfo = new DictionaryFactoryObject();

            dfo.TargetDictionaryType = typeof(IExtendedDictionary);
        }
Esempio n. 14
0
        public void SetTargetDictionaryTypeToNonDictionaryType()
        {
            DictionaryFactoryObject dfo = new DictionaryFactoryObject();

            dfo.TargetDictionaryType = typeof(ICollection);
        }
		public void GetObjectWithoutSupplyingASourceDictionary()
		{
			DictionaryFactoryObject dfo = new DictionaryFactoryObject();
			dfo.IsSingleton = false;
            Assert.Throws<ArgumentException>(() => dfo.GetObject(), "The 'SourceDictionary' property cannot be null (Nothing in Visual Basic.NET).");
		}
		public void SetTargetDictionaryTypeToNull()
		{
			DictionaryFactoryObject dfo = new DictionaryFactoryObject();
            Assert.Throws<ArgumentNullException>(() => dfo.TargetDictionaryType = null);
		}
        public void SetTargetDictionaryTypeToNonDictionaryType()
        {
            DictionaryFactoryObject dfo = new DictionaryFactoryObject();

            Assert.Throws <ArgumentException>(() => dfo.TargetDictionaryType = typeof(ICollection), "The Type passed to the TargetDictionaryType property must implement the 'System.Collections.IDictionary' interface.");
        }
        public void SetTargetDictionaryTypeToDerivedIDictionaryInterfaceType()
        {
            DictionaryFactoryObject dfo = new DictionaryFactoryObject();

            Assert.Throws <ArgumentException>(() => dfo.TargetDictionaryType = typeof(IExtendedDictionary), "The Type passed to the TargetDictionaryType property cannot be an interface; it must be a concrete class that implements the 'System.Collections.IDictionary' interface.");
        }
		public void SetTargetDictionaryTypeToNonDictionaryType()
		{
			DictionaryFactoryObject dfo = new DictionaryFactoryObject();
            Assert.Throws<ArgumentException>(() => dfo.TargetDictionaryType = typeof (ICollection), "The Type passed to the TargetDictionaryType property must implement the 'System.Collections.IDictionary' interface.");
		}
        public void SetTargetDictionaryTypeToNull()
        {
            DictionaryFactoryObject dfo = new DictionaryFactoryObject();

            Assert.Throws <ArgumentNullException>(() => dfo.TargetDictionaryType = null);
        }
		public void SetTargetDictionaryTypeToDerivedIDictionaryInterfaceType()
		{
			DictionaryFactoryObject dfo = new DictionaryFactoryObject();
            Assert.Throws<ArgumentException>(() => dfo.TargetDictionaryType = typeof (IExtendedDictionary), "The Type passed to the TargetDictionaryType property cannot be an interface; it must be a concrete class that implements the 'System.Collections.IDictionary' interface.");
		}
		public void SetTargetDictionaryTypeToNonDictionaryType()
		{
			DictionaryFactoryObject dfo = new DictionaryFactoryObject();
			dfo.TargetDictionaryType = typeof (ICollection);
		}
        public void CollectionFactoryDefaults()
        {
            ListFactoryObject listFactory = new ListFactoryObject();
            listFactory.SourceList = new ArrayList();
            listFactory.AfterPropertiesSet();
            Assert.IsTrue(listFactory.GetObject() is ArrayList);

            SetFactoryObject setFactory = new SetFactoryObject();
            setFactory.SourceSet = new HybridSet();
            setFactory.AfterPropertiesSet();
            Assert.IsTrue(setFactory.GetObject() is HybridSet);

            DictionaryFactoryObject dictionaryFactory = new DictionaryFactoryObject();
            dictionaryFactory.SourceDictionary = new Hashtable();
            dictionaryFactory.AfterPropertiesSet();
            Assert.IsTrue(dictionaryFactory.GetObject() is Hashtable);
        }