public void Given_valid_min_and_max_boundaries_Ctor_should_not_throws(BoundaryExpression min, BoundaryExpression max) { // Act Action ctor = () => new IntervalExpression(min, max); ctor.Should() .NotThrow(); }
public void Given_incorrect_boundaries_Ctor_should_throws_IncorrectBoundaryException(BoundaryExpression min, BoundaryExpression max, string reason) { // Act Action action = () => new IntervalExpression(min, max); // Assert action.Should() .ThrowExactly <IncorrectBoundaryException>(reason); }
public void Given_min_and_max_bounds_Constructor_logic_shoud_work_as_expected(BoundaryExpression min, BoundaryExpression max, IntervalExpression expected, string reason) { // Act IntervalExpression actual = new(min, max); // Assert actual.Should() .Be(expected, reason); }
public void Given_boundaries_that_are_not_compatible_Ctor_should_throws_BoundaryTypeMismatchException(BoundaryExpression min, BoundaryExpression max, string reason) { // Act Action action = () => new IntervalExpression(min, max); // Assert action.Should() .ThrowExactly <BoundariesTypeMismatchException>(reason) .Where(ex => !string.IsNullOrWhiteSpace(ex.ParamName)); }
public Property Two_BoundaryExpressions_instances_with_same_expression_and_included_should_be_equal(BoundaryExpression source) { // Arrange BoundaryExpression first = new(source.Expression, source.Included); BoundaryExpression other = new(source.Expression, source.Included); return(first.Equals(other) .And(first.GetHashCode() == other.GetHashCode())); }
public Property A_BoundaryExpression_instance_should_not_be_equal_to_null(BoundaryExpression input) => (!input.Equals(null)).ToProperty();
public Property Given_a_BoundaryExpression_instance_should_be_equals_to_itself(BoundaryExpression input) => input.Equals(input).ToProperty();