public void ConstantRuleOfTypeDoubleThatReturnsWhatIsSetAsValueStringToAndFromJson() { var rule = new ConstantRule <double> { Value = "99.1" }; var compileResult = rule.Compile(); compileResult.Should().BeTrue(); _testOutputHelper.WriteLine($"{nameof(rule)}:{Environment.NewLine}" + $"{rule.ExpressionDebugView()}"); var value = rule.Get(); _testOutputHelper.WriteLine($"expected: 99.1 - actual: {value}"); value.Should().Be(99.1); // convert to json var ruleJson = JsonConvert.SerializeObject(rule, new JsonConverterForRule()); _testOutputHelper.WriteLine($"{nameof(ruleJson)}:{Environment.NewLine}{ruleJson}"); // re-hydrate from json var ruleFromJson = JsonConvert.DeserializeObject <Rule>(ruleJson, new JsonConverterForRule()); compileResult = ruleFromJson.Compile(); compileResult.Should().BeTrue(); _testOutputHelper.WriteLine($"{nameof(ruleFromJson)}:{Environment.NewLine}" + $"{ruleFromJson.ExpressionDebugView()}"); value = ((ConstantRule <double>)ruleFromJson).Get(); _testOutputHelper.WriteLine($"{nameof(ruleFromJson)}.... expected: 99.1 - actual: {value}"); value.Should().Be(99.1); }
public void ConstantRuleOfTypeIntNullableBoolReturnsFalseToAndFromJson() { var rule = new ConstantRule <int, bool?> { Value = "false" }; var compileResult = rule.Compile(); compileResult.Should().BeTrue(); _testOutputHelper.WriteLine($"{nameof(rule)}:{Environment.NewLine}" + $"{rule.ExpressionDebugView()}"); var value = rule.Get(int.MinValue); value.Should().Be(false); // convert to json var ruleJson = JsonConvert.SerializeObject(rule, new JsonConverterForRule()); _testOutputHelper.WriteLine($"{nameof(ruleJson)}:{Environment.NewLine}{ruleJson}"); // re-hydrate from json var ruleFromJson = JsonConvert.DeserializeObject <Rule>(ruleJson, new JsonConverterForRule()); var compileResult2 = ruleFromJson.Compile(); compileResult2.Should().BeTrue(); _testOutputHelper.WriteLine($"{nameof(ruleFromJson)}:{Environment.NewLine}" + $"{ruleFromJson.ExpressionDebugView()}"); var value2 = ((ConstantRule <int, bool?>)ruleFromJson).Get(int.MinValue); value2.Should().Be(false); }
public void ConstantRuleOfTypeIntNullableBoolReturnsFalse() { var rule = new ConstantRule <int, bool?> { Value = "false" }; var compileResult = rule.Compile(); compileResult.Should().BeTrue(); _testOutputHelper.WriteLine($"{nameof(rule)}:{Environment.NewLine}" + $"{rule.ExpressionDebugView()}"); var value = rule.Get(int.MinValue); value.Should().Be(false); }
public void ConstantRuleOfTypeDoubleThatReturnsWhatIsSetAsValueString() { var ruleReturningDouble = new ConstantRule <double> { Value = "99.1" }; var compileResult = ruleReturningDouble.Compile(); compileResult.Should().BeTrue(); _testOutputHelper.WriteLine($"{nameof(ruleReturningDouble)}:{Environment.NewLine}" + $"{ruleReturningDouble.ExpressionDebugView()}"); var value = ruleReturningDouble.Get(); _testOutputHelper.WriteLine($"expected: 99.1 - actual: {value}"); value.Should().Be(99.1); }
public void ConstantRuleOfTypeIntThatReturns55WhenValueIsSetTo55() { var ruleReturning55 = new ConstantRule <int> { Value = "55" }; var compileResult = ruleReturning55.Compile(); compileResult.Should().BeTrue(); _testOutputHelper.WriteLine($"{nameof(ruleReturning55)}:{Environment.NewLine}" + $"{ruleReturning55.ExpressionDebugView()}"); var value = ruleReturning55.Get(); _testOutputHelper.WriteLine($"expected: 55 - actual: {value}"); value.Should().Be(55); }
public void ConstantRuleOfTypeIntThatReturnsString() { var stringValue = "55"; var ruleReturningString = new ConstantRule <int, string> { Value = stringValue }; var compileResult = ruleReturningString.Compile(); compileResult.Should().BeTrue(); _testOutputHelper.WriteLine($"{nameof(ruleReturningString)}:{Environment.NewLine}" + $"{ruleReturningString.ExpressionDebugView()}"); var value = ruleReturningString.Get(int.MinValue); value.Should().BeOfType <string>().And.Be(stringValue); }