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 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 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); }