public virtual void DefaultObjectFactory_CreateMultipleInstances() { // Arrange var parameter = 56789; var name = "another"; var rootElement = CreateRootElement(); AddXmlForDefaultConstructor(rootElement); var itemElement = AddXmlForParameterizedConstructor(rootElement, parameter.ToString(CultureInfo.InvariantCulture)); AddAttribute(itemElement, DefaultObjectFactory.FactoryNameAttributeName, name); var factory = new DefaultObjectFactory(rootElement, null); // Action ITest instanceDefault; var successDefault = factory.TryGetInstance<ITest>(out instanceDefault); ITest instanceParameterized; var successParameterized = factory.TryGetInstance<ITest>(out instanceParameterized, name); // Assert Assert.IsTrue(successDefault); Assert.IsInstanceOfType(instanceDefault, typeof(TestClass)); Assert.AreEqual(ActionToken.DefaultConstructor, instanceDefault.ActionWasToken); Assert.AreEqual(0, instanceDefault.Value); Assert.IsTrue(successParameterized); Assert.IsInstanceOfType(instanceParameterized, typeof(TestClass)); Assert.AreEqual(ActionToken.WithParameter, instanceParameterized.ActionWasToken); Assert.AreEqual(parameter, instanceParameterized.Value); }
public virtual void DefaultObjectFactory_CreateInstance_DefaultConstructor() { // Arrange var rootElement = CreateRootElement(); AddXmlForDefaultConstructor(rootElement); var factory = new DefaultObjectFactory(rootElement, null); // Action ITest instance; var success = factory.TryGetInstance<ITest>(out instance); // Assert Assert.IsTrue(success); Assert.IsInstanceOfType(instance, typeof(TestClass)); Assert.AreEqual(ActionToken.DefaultConstructor, instance.ActionWasToken); Assert.AreEqual(0, instance.Value); }
public virtual void DefaultObjectFactory_CreateInstance_WithParameter() { // Arrange var parameter = 123456; var rootElement = CreateRootElement(); AddXmlForParameterizedConstructor(rootElement, parameter.ToString(CultureInfo.InvariantCulture)); var factory = new DefaultObjectFactory(rootElement, null); // Action ITest instance; var success = factory.TryGetInstance<ITest>(out instance); // Assert Assert.IsTrue(success); Assert.IsInstanceOfType(instance, typeof(TestClass)); Assert.AreEqual(ActionToken.WithParameter, instance.ActionWasToken); Assert.AreEqual(parameter, instance.Value); }
public virtual void DefaultObjectFactory_Convert_Directly() { // Arrange var rootElement = CreateRootElement(); var value = Guid.NewGuid().ToString(); var itemElement = rootElement.AddTextElement(DefaultObjectFactory.FactoryElementName, value); AddAttribute(itemElement, DefaultObjectFactory.SourceTypeAttributeName, typeof(string).FullName); AddAttribute(itemElement, DefaultObjectFactory.TargetTypeAttributeName, typeof(string).FullName); AddAttribute(itemElement, DefaultObjectFactory.ConvertAttributeName, bool.TrueString); var factory = new DefaultObjectFactory(rootElement, null); // Action string actual; var success = factory.TryGetInstance<string>(out actual); // Assert Assert.IsTrue(success); Assert.AreEqual(value, actual); }
public virtual void DefaultObjectFactory_CreateInstance_WithParameter_FromConfiguration() { // Arrange var parameter = 123456; var configuration = new NameValueCollection(); var key = Guid.NewGuid().ToString("N"); configuration.Add(key, parameter.ToString(CultureInfo.InvariantCulture)); var rootElement = CreateRootElement(); var itemElement = AddXmlForParameterizedConstructor(rootElement, key, true); var factory = new DefaultObjectFactory(rootElement, configuration); // Action ITest instance; var success = factory.TryGetInstance<ITest>(out instance); // Assert Assert.IsTrue(success); Assert.IsInstanceOfType(instance, typeof(TestClass)); Assert.AreEqual(ActionToken.WithParameter, instance.ActionWasToken); Assert.AreEqual(parameter, instance.Value); }