public void SutIsSpecimenCommand() { var request = typeof(ConcreteType).GetProperty("Property1"); var sut = new BindingCommand <AbstractType, object>(x => x.Property1); Assert.IsAssignableFrom <ISpecimenCommand>(sut); }
public void CombineExplictPropertyWithAutoProperties() { // Fixture setup var expectedText = "Fnaah"; var specifiedCommand = new BindingCommand<DoublePropertyHolder<string, int>, string>(ph => ph.Property1, expectedText); var reservedProperty = new InverseRequestSpecification(specifiedCommand); var customizedBuilder = new Postprocessor<DoublePropertyHolder<string, int>>( new Postprocessor<DoublePropertyHolder<string, int>>( new MethodInvoker(new ModestConstructorQuery()), specifiedCommand), new AutoPropertiesCommand<DoublePropertyHolder<string, int>>(reservedProperty), new AnyTypeSpecification()); var builder = new CompositeSpecimenBuilder( customizedBuilder, Scenario.CreateAutoPropertyBuilder()); var container = new SpecimenContext(builder); // Exercise system var result = container.Resolve(typeof(DoublePropertyHolder<string, int>)); // Verify outcome var actual = Assert.IsAssignableFrom<DoublePropertyHolder<string, int>>(result); Assert.Equal(expectedText, actual.Property1); Assert.Equal(1, actual.Property2); // Teardown }
public void CombineExplicitPropertyWithAutoProperties() { // Arrange var expectedText = "Fnaah"; var specifiedCommand = new BindingCommand <DoublePropertyHolder <string, int>, string>(ph => ph.Property1, expectedText); var reservedProperty = new InverseRequestSpecification(specifiedCommand); var customizedBuilder = new Postprocessor( new Postprocessor( new MethodInvoker(new ModestConstructorQuery()), specifiedCommand), new AutoPropertiesCommand(reservedProperty), new AnyTypeSpecification()); var builder = new CompositeSpecimenBuilder( customizedBuilder, Scenario.CreateAutoPropertyBuilder()); var container = new SpecimenContext(builder); // Act var result = container.Resolve(typeof(DoublePropertyHolder <string, int>)); // Assert var actual = Assert.IsAssignableFrom <DoublePropertyHolder <string, int> >(result); Assert.Equal(expectedText, actual.Property1); Assert.Equal(1, actual.Property2); }
public void ExecuteWithNullContextThrows() { var sut = new BindingCommand <PropertyHolder <string>, string>(ph => ph.Property); object dummySpecimen = new PropertyHolder <string>(); Assert.Throws <ArgumentNullException>(() => sut.Execute(dummySpecimen, null)); }
public void ExecuteWithNullSpecimenThrows() { var sut = new BindingCommand <PropertyHolder <string>, string>(ph => ph.Property); var dummyContext = new DelegatingSpecimenContext(); Assert.Throws <ArgumentNullException>(() => sut.Execute((object)null, dummyContext)); }
public void IsSatisfiedByNullThrows() { // Fixture setup var sut = new BindingCommand <PropertyHolder <object>, object>(ph => ph.Property); // Exercise system and verify outcome Assert.Throws <ArgumentNullException>(() => sut.IsSatisfiedBy(null)); // Teardown }
public void SutIsSpecifiedSpecimenCommand() { // Arrange // Act var sut = new BindingCommand <FieldHolder <DateTimeOffset>, DateTimeOffset>(fh => fh.Field); // Assert Assert.IsAssignableFrom <ISpecifiedSpecimenCommand <FieldHolder <DateTimeOffset> > >(sut); }
public void ExecuteWithNullItemWillThrow() { // Arrange var sut = new BindingCommand <PropertyHolder <string>, string>(ph => ph.Property); // Act & assert var dummyContainer = new DelegatingSpecimenContext(); Assert.Throws <ArgumentNullException>(() => sut.Execute((object)null, dummyContainer)); }
/// <summary> /// 绑定 /// </summary> /// <param name="strParam"></param> /// <returns></returns> private IResponseMessageBase DoBinding(string strParam) { // 设置当前命令 this.CurrentMessageContext.CurrentCmdName = dp2CommandUtility.C_Command_Binding; if (strParam == "") { string strMessage = "请输入'读者证条码号'(注:您也可以同时输入'读者证条码号'和'密码',中间以/分隔,例如:R0000001/123)。"; return(this.CreateTextResponseMessage(strMessage)); } // 得到绑定命令 BindingCommand bindingCmd = (BindingCommand)this.CurrentMessageContext.CmdContiner.GetCommand(dp2CommandUtility.C_Command_Binding); string readerBarcode = strParam; int nTempIndex = strParam.IndexOf('/'); if (nTempIndex > 0) // 同时输入读者证条码与密码 { bindingCmd.ReaderBarcode = strParam.Substring(0, nTempIndex); bindingCmd.Password = strParam.Substring(nTempIndex + 1); } else { // 看看上一次输入过用户名的没有,如果已存在用户名,那么这次输入的就是密码 if (bindingCmd.ReaderBarcode == "") { bindingCmd.ReaderBarcode = strParam; return(this.CreateTextResponseMessage("读输入密码")); } else { bindingCmd.Password = strParam; } } string strReaderBarcode = ""; string strError = ""; long lRet = this.CmdService.Binding(bindingCmd.ReaderBarcode, bindingCmd.Password, this.CurrentMessageContext.UserName, //.WeiXinId out strReaderBarcode, out strError); if (lRet == -1 || lRet == 0) { return(CreateTextResponseMessage(strError)); } // 把用户名与密码清掉,以便再绑其它账号 bindingCmd.ReaderBarcode = ""; bindingCmd.Password = ""; // 设到当前读者变量上 this.CurrentMessageContext.ReaderBarcode = strReaderBarcode; return(this.CreateTextResponseMessage("绑定成功!")); }
public void ExecuteWithNullContainerWillThrow() { // Fixture setup var sut = new BindingCommand <PropertyHolder <string>, string>(ph => ph.Property); // Exercise system and verify outcome var dummySpecimen = new PropertyHolder <string>(); Assert.Throws <ArgumentNullException>(() => sut.Execute(dummySpecimen, null)); // Teardown }
public void SutIsSpecifiedSpecimenCommand() { // Fixture setup // Exercise system var sut = new BindingCommand <FieldHolder <DateTimeOffset>, DateTimeOffset>(fh => fh.Field); // Verify outcome Assert.IsAssignableFrom <ISpecifiedSpecimenCommand <FieldHolder <DateTimeOffset> > >(sut); // Teardown }
public void IsSatisfiedByNullThrows() { // Arrange var sut = new BindingCommand <PropertyHolder <object>, object>(ph => ph.Property); // Act & assert #pragma warning disable 618 Assert.Throws <ArgumentNullException>(() => sut.IsSatisfiedBy(null)); #pragma warning restore 618 }
public void ExecuteWithNullItemWillThrow() { // Fixture setup var sut = new BindingCommand <PropertyHolder <string>, string>(ph => ph.Property); // Exercise system and verify outcome var dummyContainer = new DelegatingSpecimenContext(); Assert.Throws <ArgumentNullException>(() => sut.Execute((object)null, dummyContainer)); // Teardown }
public void ExecuteWithNullContainerWillThrow() { // Arrange var sut = new BindingCommand <PropertyHolder <string>, string>(ph => ph.Property); // Act & assert var dummySpecimen = new PropertyHolder <string>(); #pragma warning disable 618 Assert.Throws <ArgumentNullException>(() => sut.Execute(dummySpecimen, null)); #pragma warning restore 618 }
public void ValueCreatorIsCorrect() { // Arrange Func <ISpecimenContext, double> expectedCreator = c => 8; var sut = new BindingCommand <PropertyHolder <double>, double>(ph => ph.Property, expectedCreator); // Act Func <ISpecimenContext, double> result = sut.ValueCreator; // Assert Assert.Equal(expectedCreator, result); }
public void MemberIsCorrect() { // Arrange var expectedMember = typeof(PropertyHolder <object>).GetProperty("Property"); var sut = new BindingCommand <PropertyHolder <object>, object>(ph => ph.Property); // Act MemberInfo result = sut.Member; // Assert Assert.Equal(expectedMember, result); }
/// <summary> /// Registers that a writable property or field should be assigned a specific value as /// part of specimen post-processing. /// </summary> /// <typeparam name="TProperty">The type of the property of field.</typeparam> /// <param name="propertyPicker"> /// An expression that identifies the property or field that will have /// <paramref name="value"/> assigned. /// </param> /// <param name="value"> /// The value to assign to the property or field identified by /// <paramref name="propertyPicker"/>. /// </param> /// <returns> /// An <see cref="IPostprocessComposer{T}"/> which can be used to further customize the /// post-processing of created specimens. /// </returns> public IPostprocessComposer <T> With <TProperty>(Expression <Func <T, TProperty> > propertyPicker, TProperty value) { if (propertyPicker == null) { throw new ArgumentNullException("propertyPicker"); } var postprocessor = new BindingCommand <T, TProperty>(propertyPicker, value); return(this.WithPostprocessor(postprocessor)); }
public void IsSatisfiedByReturnsFalseForAnonymousRequest() { // Fixture setup var request = new object(); var sut = new BindingCommand <PropertyHolder <object>, object>(ph => ph.Property); // Exercise system bool result = sut.IsSatisfiedBy(request); // Verify outcome Assert.False(result); // Teardown }
public void MemberIsCorrect() { // Fixture setup var expectedMember = typeof(PropertyHolder <object>).GetProperty("Property"); var sut = new BindingCommand <PropertyHolder <object>, object>(ph => ph.Property); // Exercise system MemberInfo result = sut.Member; // Verify outcome Assert.Equal(expectedMember, result); // Teardown }
public void ValueCreatorIsCorrect() { // Fixture setup Func <ISpecimenContext, double> expectedCreator = c => 8; var sut = new BindingCommand <PropertyHolder <double>, double>(ph => ph.Property, expectedCreator); // Exercise system Func <ISpecimenContext, double> result = sut.ValueCreator; // Verify outcome Assert.Equal(expectedCreator, result); // Teardown }
public void IsSatisfiedByReturnsTrueForDerivedProperty() { // Fixture setup var request = typeof(ConcreteType).GetProperty("Property1"); var sut = new BindingCommand <AbstractType, object>(x => x.Property1); // Exercise system var result = sut.IsSatisfiedBy(request); // Verify outcome Assert.True(result); // Teardown }
public void IsSatisfiedByReturnsTrueForIdentifiedProperty() { // Fixture setup var request = typeof(DoublePropertyHolder <object, object>).GetProperty("Property1"); var sut = new BindingCommand <DoublePropertyHolder <object, object>, object>(ph => ph.Property1); // Exercise system bool result = sut.IsSatisfiedBy(request); // Verify outcome Assert.True(result); // Teardown }
public void ExecuteThrowsWhenContainerReturnsIncompatiblePropertyValue() { var nonInt = "Anonymous variable"; var context = new DelegatingSpecimenContext { OnResolve = r => nonInt }; var sut = new BindingCommand <PropertyHolder <int>, int>(ph => ph.Property); object dummySpecimen = new PropertyHolder <int>(); Assert.Throws <InvalidOperationException>(() => sut.Execute(dummySpecimen, context)); }
public void IsSatisfiedByReturnsTrueForDerivedProperty() { // Arrange var request = typeof(ConcreteType).GetProperty("Property1"); var sut = new BindingCommand <AbstractType, object>(x => x.Property1); // Act #pragma warning disable 618 var result = sut.IsSatisfiedBy(request); #pragma warning restore 618 // Assert Assert.True(result); }
public void IsSatisfiedByReturnsTrueForIdentifiedProperty() { // Arrange var request = typeof(DoublePropertyHolder <object, object>).GetProperty("Property1"); var sut = new BindingCommand <DoublePropertyHolder <object, object>, object>(ph => ph.Property1); // Act #pragma warning disable 618 bool result = sut.IsSatisfiedBy(request); #pragma warning restore 618 // Assert Assert.True(result); }
public void IsSatisfiedByReturnsFalseForAnonymousRequest() { // Arrange var request = new object(); var sut = new BindingCommand <PropertyHolder <object>, object>(ph => ph.Property); // Act #pragma warning disable 618 bool result = sut.IsSatisfiedBy(request); #pragma warning restore 618 // Assert Assert.False(result); }
public void ExecuteSetsCorrectPropertyOnSpecimenWhenCreatorIsSupplied() { // Arrange var expectedValue = new object(); var expectedContext = new DelegatingSpecimenContext(); var sut = new BindingCommand <PropertyHolder <object>, object>(ph => ph.Property, c => expectedContext == c ? expectedValue : new NoSpecimen()); var specimen = new PropertyHolder <object>(); // Act sut.Execute((object)specimen, expectedContext); // Assert Assert.Equal(expectedValue, specimen.Property); }
public void IsSatisfiedByReturnsFalseForOtherProperty() { // Fixture setup var request = typeof(DoublePropertyHolder <object, object>).GetProperty("Property1"); var sut = new BindingCommand <DoublePropertyHolder <object, object>, object>(ph => ph.Property2); // Exercise system #pragma warning disable 618 bool result = sut.IsSatisfiedBy(request); #pragma warning restore 618 // Verify outcome Assert.False(result); // Teardown }
public void ExecuteSetsCorrectPropertyOnSpecimenWhenValueIsSupplied() { // Arrange var expectedValue = new object(); var sut = new BindingCommand <PropertyHolder <object>, object>(ph => ph.Property, expectedValue); var specimen = new PropertyHolder <object>(); // Act var dummyContext = new DelegatingSpecimenContext(); sut.Execute((object)specimen, dummyContext); // Assert Assert.Equal(expectedValue, specimen.Property); }
public void ExecuteWillSetCorrectPropertyOnSpecimenWhenValueIsSupplied() { // Fixture setup var expectedValue = new object(); var sut = new BindingCommand <PropertyHolder <object>, object>(ph => ph.Property, expectedValue); var specimen = new PropertyHolder <object>(); // Exercise system var dummyContainer = new DelegatingSpecimenContext(); sut.Execute(specimen, dummyContainer); // Verify outcome Assert.Equal(expectedValue, specimen.Property); // Teardown }
public void ExecuteWillThrowWhenContainerReturnsIncompatiblePropertyValue() { // Fixture setup var nonInt = "Anonymous variable"; var container = new DelegatingSpecimenContext { OnResolve = r => nonInt }; var sut = new BindingCommand <PropertyHolder <int>, int>(ph => ph.Property); // Exercise system and verify outcome var dummySpecimen = new PropertyHolder <int>(); Assert.Throws <InvalidOperationException>(() => sut.Execute(dummySpecimen, container)); // Teardown }
public void ValueCreatorIsCorrect() { // Fixture setup Func<ISpecimenContext, double> expectedCreator = c => 8; var sut = new BindingCommand<PropertyHolder<double>, double>(ph => ph.Property, expectedCreator); // Exercise system Func<ISpecimenContext, double> result = sut.ValueCreator; // Verify outcome Assert.Equal(expectedCreator, result); // Teardown }
public void ExecuteWithNullContainerWillThrow() { // Fixture setup var sut = new BindingCommand<PropertyHolder<string>, string>(ph => ph.Property); // Exercise system and verify outcome var dummySpecimen = new PropertyHolder<string>(); Assert.Throws<ArgumentNullException>(() => sut.Execute(dummySpecimen, null)); // Teardown }
public void ExecuteWillSetCorrectPropertyOnSpecimenWhenAnonymousValueIsImplied() { // Fixture setup var expectedValue = new object(); var expectedRequest = typeof(PropertyHolder<object>).GetProperty("Property"); var container = new DelegatingSpecimenContext { OnResolve = r => expectedRequest.Equals(r) ? expectedValue : new NoSpecimen() }; var sut = new BindingCommand<PropertyHolder<object>, object>(ph => ph.Property); var specimen = new PropertyHolder<object>(); // Exercise system sut.Execute(specimen, container); // Verify outcome Assert.Equal(expectedValue, specimen.Property); // Teardown }
public void ExecuteWillThrowWhenContainerReturnsIncompatiblePropertyValue() { // Fixture setup var nonInt = "Anonymous variable"; var container = new DelegatingSpecimenContext { OnResolve = r => nonInt }; var sut = new BindingCommand<PropertyHolder<int>, int>(ph => ph.Property); // Exercise system and verify outcome var dummySpecimen = new PropertyHolder<int>(); Assert.Throws<InvalidOperationException>(() => sut.Execute(dummySpecimen, container)); // Teardown }
public void IsSatisfiedByReturnsTrueForIdentifiedProperty() { // Fixture setup var request = typeof(DoublePropertyHolder<object, object>).GetProperty("Property1"); var sut = new BindingCommand<DoublePropertyHolder<object, object>, object>(ph => ph.Property1); // Exercise system bool result = sut.IsSatisfiedBy(request); // Verify outcome Assert.True(result); // Teardown }
public void ExecuteSetsCorrectPropertyOnSpecimenWhenValueIsSupplied() { // Fixture setup var expectedValue = new object(); var sut = new BindingCommand<PropertyHolder<object>, object>(ph => ph.Property, expectedValue); var specimen = new PropertyHolder<object>(); // Exercise system var dummyContext = new DelegatingSpecimenContext(); sut.Execute((object)specimen, dummyContext); // Verify outcome Assert.Equal(expectedValue, specimen.Property); // Teardown }
public void ExecuteThrowsWhenContainerReturnsIncompatiblePropertyValue() { var nonInt = "Anonymous variable"; var context = new DelegatingSpecimenContext { OnResolve = r => nonInt }; var sut = new BindingCommand<PropertyHolder<int>, int>(ph => ph.Property); object dummySpecimen = new PropertyHolder<int>(); Assert.Throws<InvalidOperationException>(() => sut.Execute(dummySpecimen, context)); }
public void IsSatisfiedByNullThrows() { // Fixture setup var sut = new BindingCommand<PropertyHolder<object>, object>(ph => ph.Property); // Exercise system and verify outcome Assert.Throws<ArgumentNullException>(() => sut.IsSatisfiedBy(null)); // Teardown }
public void SutIsSpecimenCommand() { var request = typeof(ConcreteType).GetProperty("Property1"); var sut = new BindingCommand<AbstractType, object>(x => x.Property1); Assert.IsAssignableFrom<ISpecimenCommand>(sut); }
public void IsSatisfiedByReturnsTrueForDerivedProperty() { // Fixture setup var request = typeof(ConcreteType).GetProperty("Property1"); var sut = new BindingCommand<AbstractType, object>(x => x.Property1); // Exercise system var result = sut.IsSatisfiedBy(request); // Verify outcome Assert.True(result); // Teardown }
public void MemberIsCorrect() { // Fixture setup var expectedMember = typeof(PropertyHolder<object>).GetProperty("Property"); var sut = new BindingCommand<PropertyHolder<object>, object>(ph => ph.Property); // Exercise system MemberInfo result = sut.Member; // Verify outcome Assert.Equal(expectedMember, result); // Teardown }
public void SutIsSpecifiedSpecimenCommand() { // Fixture setup // Exercise system var sut = new BindingCommand<FieldHolder<DateTimeOffset>, DateTimeOffset>(fh => fh.Field); // Verify outcome Assert.IsAssignableFrom<ISpecifiedSpecimenCommand<FieldHolder<DateTimeOffset>>>(sut); // Teardown }
public void ExecuteWithNullSpecimenThrows() { var sut = new BindingCommand<PropertyHolder<string>, string>(ph => ph.Property); var dummyContext = new DelegatingSpecimenContext(); Assert.Throws<ArgumentNullException>(() => sut.Execute((object)null, dummyContext)); }
public void IsSatisfiedByReturnsFalseForAnonymousRequest() { // Fixture setup var request = new object(); var sut = new BindingCommand<PropertyHolder<object>, object>(ph => ph.Property); // Exercise system bool result = sut.IsSatisfiedBy(request); // Verify outcome Assert.False(result); // Teardown }
public void CreateAndAddProperyValues() { // Fixture setup var ctorInvoker = new MethodInvoker(new ModestConstructorQuery()); var strCmd = new BindingCommand<DoublePropertyHolder<string, int>, string>(ph => ph.Property1); var intCmd = new BindingCommand<DoublePropertyHolder<string, int>, int>(ph => ph.Property2); var strPostprocessor = new Postprocessor<DoublePropertyHolder<string, int>>(ctorInvoker, strCmd); var intPostprocessor = new Postprocessor<DoublePropertyHolder<string, int>>(strPostprocessor, intCmd); var builder = new CompositeSpecimenBuilder( new FilteringSpecimenBuilder(intPostprocessor, new ExactTypeSpecification(typeof(DoublePropertyHolder<string, int>))), Scenario.CreateAutoPropertyBuilder()); var container = new SpecimenContext(builder); // Exercise system var result = container.Resolve(typeof(DoublePropertyHolder<string, int>)); // Verify outcome var actual = Assert.IsAssignableFrom<DoublePropertyHolder<string, int>>(result); Assert.False(string.IsNullOrEmpty(actual.Property1), "Property1"); Assert.Equal(1, actual.Property2); // Teardown }
public void ExecuteWithNullContextThrows() { var sut = new BindingCommand<PropertyHolder<string>, string>(ph => ph.Property); object dummySpecimen = new PropertyHolder<string>(); Assert.Throws<ArgumentNullException>(() => sut.Execute(dummySpecimen, null)); }
public void ExecuteWillSetCorrectPropertyOnSpecimenWhenCreatorIsSupplied() { // Fixture setup var expectedValue = new object(); var expectedContainer = new DelegatingSpecimenContext(); var sut = new BindingCommand<PropertyHolder<object>, object>(ph => ph.Property, c => expectedContainer == c ? expectedValue : new NoSpecimen()); var specimen = new PropertyHolder<object>(); // Exercise system sut.Execute(specimen, expectedContainer); // Verify outcome Assert.Equal(expectedValue, specimen.Property); // Teardown }
public void ExecuteSetsCorrectFieldOnSpecimenWhenAnonymousValueIsImplied() { // Fixture setup var expectedValue = new object(); var expectedRequest = typeof(FieldHolder<object>).GetField("Field"); var context = new DelegatingSpecimenContext { OnResolve = r => expectedRequest.Equals(r) ? expectedValue : new NoSpecimen() }; var sut = new BindingCommand<FieldHolder<object>, object>(ph => ph.Field); var specimen = new FieldHolder<object>(); // Exercise system sut.Execute((object)specimen, context); // Verify outcome Assert.Equal(expectedValue, specimen.Field); // Teardown }