public void RegisteredObjectFactoryTest() { Dictionary<string, Type> dic = new Dictionary<string, Type>(); dic.Add("TestClass1", typeof(ClassforTest1)); dic.Add("TestClass2", typeof(ClassforTest2)); RegisteredObjectFactory<ITestInterface> registeredobjectFactory = new RegisteredObjectFactory<ITestInterface>(dic); ITestInterface test1 = registeredobjectFactory.GetInstance("TestClass1"); ITestInterface test2 = registeredobjectFactory.GetInstance("TestClass1"); Assert.AreEqual(test1, test2); ITestInterface test3 = registeredobjectFactory.GetInstance("TestClass2"); Assert.AreNotEqual(test1, test3); }
/// <summary> /// Load Suite工厂 /// </summary> private void LoadSuiteFactory() { Dictionary<string, Type> suiteTypeDic = new Dictionary<string, Type>(); foreach (string caseName in m_CaseInfoDic.Keys) { string suiteName = m_CaseInfoDic[caseName].Suite; AddOneSuiteType(suiteTypeDic, caseName, suiteName); } m_SuiteFactory = new RegisteredObjectFactory<ISuite>(suiteTypeDic); }
/// <summary> /// Load Case工厂 /// </summary> private void LoadCaseFactory() { Dictionary<string, Type> caseTypeDic = new Dictionary<string, Type>(); foreach (string caseName in m_CaseInfoDic.Keys) { Assembly assembly=Assembly.Load(m_CaseInfoDic[caseName].AssemblyPath); Type caseType = assembly.GetType(m_CaseInfoDic[caseName].TypeName); caseTypeDic.Add(caseName, caseType); } m_CaseFactory = new RegisteredObjectFactory<ICase>(caseTypeDic); }