public void Ctor_SetsProperties()
        {
            // Act
            TriangleByThreeSides sut = new TriangleByThreeSides(3.0, 4.0, 5.0);

            // Assert
            sut.A.Should().Be(3.0);
            sut.B.Should().Be(4.0);
            sut.C.Should().Be(5.0);
        }
        public void IsRectangular_WithNonRectangularTriangle_ReturnsFalse()
        {
            // Arrange
            TriangleByThreeSides sut = new TriangleByThreeSides(3.0, 4.0, 6.0);

            // Act
            bool actual = sut.IsRectangular();

            // Assert
            actual.Should().BeFalse();
        }
        public void IsRectangular_CalledWithNull_ThrowsArgumentNullException()
        {
            // Arrange
            TriangleByThreeSides sut = null;

            // Act
            Action act = () => sut.IsRectangular();

            // Assert
            act.Should().Throw <ArgumentException>()
            .WithMessage("*Argument 'triangle' can not be 'null'.");
        }
        public void CalculateArea_ReturnsExpectedValue()
        {
            // Arrange
            TriangleByThreeSides sut = new TriangleByThreeSides(3.0, 4.0, 5.0);

            // Act
            double actual = sut.CalculateArea();

            // Assert
            double expected = 6.0;

            Tolerance.AreEqual(actual, expected).Should().BeTrue();
        }