public void should_build_value_for_parameter_using_parameter_type_and_token(ParameterValueTuner forParameter) { const string token = "token398"; const string expected = "expected 398752"; // --arrange var target = CreateTarget(); target .Treat <LevelOne>() .AsIs() .UsingParameters(forParameter.UseToken(token), "bad"); target .Treat <string>(token) .AsInstance(expected); target .Treat <string>("bad_token") .AsInstance("bad"); target .Treat <string>() .AsInstance("bad"); // --act var actual = target.Build <LevelOne>(); // --assert actual.Text.Should().Be(expected); }
public void should_pass_null_as_parameter_value(ParameterValueTuner forParameter) { // --arrange var target = CreateTarget(); target .Treat <string>() .AsInstance("938754"); target .Treat <LevelOne>() .AsIs() .UsingParameters(forParameter.UseValue(null)); // --act var actual = target.Build <LevelOne>(); // --assert actual.Text.Should().BeNull(); }
public void should_use_factory_method(ParameterValueTuner forParameter) { const int expectedInt = 392; // --arrange var target = CreateTarget(); target.Treat <int>().AsInstance(expectedInt); target .Treat <LevelOne>() .AsIs() .UsingParameters(forParameter.UseFactoryMethod <int>(intValue => intValue.ToString())); // --act var actual = target.Build <LevelOne>(); // --assert actual.Text.Should().Be(expectedInt.ToString()); }
public void should_fail_if_there_is_no_value_w_token_registered(ParameterValueTuner forParameter) { // --arrange var target = CreateTarget(); target .Treat <string>() .AsInstance("09765"); target .Treat <LevelOne>() .AsIs() .UsingParameters(forParameter.UseToken("token")); // --act Action actual = () => target.Build <LevelOne>(); // --assert actual.Should().ThrowExactly <ArmatureException>(); }
public void should_use_value_for_parameter(ParameterValueTuner forParameter) { const string expected = "expected"; // --arrange var target = CreateTarget(); target.Treat <string>().AsInstance("bad"); target .Treat <LevelOne>() .AsIs() .UsingParameters(forParameter.UseValue(expected), "bad"); // --act var actual = target.Build <LevelOne>(); // --assert actual.Text.Should().Be(expected); }