diff --git a/src/area_shape.h b/src/area_shape.h index 22d1904..1515f08 100644 --- a/src/area_shape.h +++ b/src/area_shape.h @@ -158,7 +158,7 @@ double trapezoidArea(double largerBase, double smallerBase, double height) double regularPolygonArea(double side, int nOfSides) { double apothen, perimeter, result; - assert(side > 0 && nOfSides > 0); + assert(side > 0 && nOfSides >= 3); apothen = side / (2 * tan(M_PI / nOfSides)); perimeter = side * nOfSides; result = perimeter * apothen / 2; diff --git a/src/geometry.h b/src/geometry.h index a6ec2d2..1ac8b8d 100644 --- a/src/geometry.h +++ b/src/geometry.h @@ -79,7 +79,7 @@ double *midpointPoints(double ax, double ay, double bx, double by) double slopeOfLine(double x1, double y1, double x2, double y2) { double result; - assert(x1 != x2 || y1 != y2); + assert(x1 != x2); result = (y2 - y1) / (x2 - x1); return result; } @@ -156,7 +156,7 @@ double circlePerimeter(double radius) int nOfDiagnonalsPolygon(int nOfSides) { double result; - assert(nOfSides > 0); + assert(nOfSides >= 3); result = nOfSides * (nOfSides - 3) / 2; return result; } @@ -171,7 +171,7 @@ int nOfDiagnonalsPolygon(int nOfSides) double convexPolygonSumInteriorAngles(double nOfSides) { double result; - assert(nOfSides > 0); + assert(nOfSides >= 3); result = (nOfSides - 2) * M_PI; return result; } @@ -187,7 +187,7 @@ double convexPolygonSumInteriorAngles(double nOfSides) double regularPolygonInteriorAngle(int nOfSides) { double result; - assert(nOfSides > 0); + assert(nOfSides >= 3); result = convexPolygonSumInteriorAngles(nOfSides) / nOfSides; return result; } @@ -202,7 +202,7 @@ double regularPolygonInteriorAngle(int nOfSides) double convexPolygonExteriorAngle(int nOfSides) { double result; - assert(nOfSides > 0); + assert(nOfSides >= 3); result = 2 * M_PI / nOfSides; return result; } diff --git a/src/test/main.c b/src/test/main.c index 172e8ee..73e5207 100644 --- a/src/test/main.c +++ b/src/test/main.c @@ -255,6 +255,10 @@ int main() test(185, round(radians2degrees(regularPolygonInteriorAngle(6))) == 120); test(186, round(radians2degrees(convexPolygonExteriorAngle(5))) == 72); test(187, round(radians2degrees(convexPolygonExteriorAngle(6))) == 60); + test(188, nOfDiagnonalsPolygon(3) == 0); + test(189, round(radians2degrees(convexPolygonSumInteriorAngles(3))) == 180); + test(190, round(radians2degrees(regularPolygonInteriorAngle(3))) == 60); + test(191, round(radians2degrees(convexPolygonExteriorAngle(3))) == 120); puts("Passed all tests successfully!"); diff --git a/src/trigonometry.h b/src/trigonometry.h index 9a14f6a..a7558ef 100644 --- a/src/trigonometry.h +++ b/src/trigonometry.h @@ -29,7 +29,7 @@ double hypotenuse(double sideA, double sideB) double sideRightTriangle(double hypotenuse, double sideA) { double result; - assert(sideA > 0 && hypotenuse > 0); + assert(sideA > 0 && hypotenuse > sideA); result = sqrt(pow(hypotenuse, 2) - pow(sideA, 2)); return result; }