public void WithNullPropertyPickerThrows() { // Fixture setup var sut = new SutBuilder <object>().Create(); // Exercise system and verify outcome Assert.Throws <ArgumentNullException>(() => sut.With <object>(null)); // Teardown }
public void WithNullValueDoesNotThrow() { // Fixture setup var sut = new SutBuilder <PropertyHolder <object> >().Create(); // Exercise system and verify outcome Assert.DoesNotThrow(() => sut.With(ph => ph.Property, null)); // Teardown }
public void WithValueReturnsCorrectResult() { // Fixture setup var expectedMember = typeof(PropertyHolder <decimal>).GetProperty("Property"); var expectedValue = 1.3m; var sut = new SutBuilder <PropertyHolder <decimal> >().Create(); // Exercise system var result = sut.With(x => x.Property, expectedValue); // Verify outcome var resultingComposer = Assert.IsAssignableFrom <Composer <PropertyHolder <decimal> > >(result); var postprocessor = resultingComposer.Postprocessors.OfType <BindingCommand <PropertyHolder <decimal>, decimal> >().Single(); Assert.Equal(expectedMember, postprocessor.Member); Assert.Equal(expectedValue, postprocessor.ValueCreator(new DelegatingSpecimenContext())); // Teardown }
public void WithReturnsCorrectResult() { // Fixture setup var member = typeof(PropertyHolder <float>).GetProperty("Property"); var sut = new SutBuilder <PropertyHolder <float> >().Create(); // Exercise system var result = sut.With(x => x.Property); // Verify outcome var resultingComposer = Assert.IsAssignableFrom <Composer <PropertyHolder <float> > >(result); var postprocessor = resultingComposer.Postprocessors.OfType <BindingCommand <PropertyHolder <float>, float> >().Single(); Assert.Equal(member, postprocessor.Member); object expectedValue = 3.6f; var actual = postprocessor.ValueCreator(new DelegatingSpecimenContext { OnResolve = r => r.Equals(member) ? expectedValue : new NoSpecimen(r) }); Assert.Equal(expectedValue, actual); // Teardown }