@@ -30,6 +30,9 @@ function getAngleType(angle) {
3030 if ( angle > 180 && angle < 360 ) {
3131 return "Reflex angle" ;
3232 }
33+ if ( angle === 360 ) {
34+ return "Full rotation angle" ;
35+ }
3336 return "Invalid angle" ;
3437}
3538
@@ -46,16 +49,32 @@ function assertEquals(actualOutput, targetOutput) {
4649}
4750
4851// TODO: Write tests to cover all cases, including boundary and invalid cases.
49- // Example: Identify Right Angles
50- const acute = getAngleType ( 45 ) ;
51- assertEquals ( acute , "Acute angle" ) ;
52- const right = getAngleType ( 90 ) ;
53- assertEquals ( right , "Right angle" ) ;
54- const obtuse = getAngleType ( 135 ) ;
55- assertEquals ( obtuse , "Obtuse angle" ) ;
56- const straight = getAngleType ( 180 ) ;
57- assertEquals ( straight , "Straight angle" ) ;
58- const reflex = getAngleType ( 270 ) ;
59- assertEquals ( reflex , "Reflex angle" ) ;
60- const invalidAngle = getAngleType ( - 10 ) ;
61- assertEquals ( invalidAngle , "Invalid angle" ) ;
52+ // Acute boundaries
53+ assertEquals ( getAngleType ( 0 ) , "Invalid angle" ) ;
54+ assertEquals ( getAngleType ( 1 ) , "Acute angle" ) ;
55+ assertEquals ( getAngleType ( 89 ) , "Acute angle" ) ;
56+ // Right angle
57+ assertEquals ( getAngleType ( 90 ) , "Right angle" ) ;
58+ // Obtuse boundaries
59+ assertEquals ( getAngleType ( 91 ) , "Obtuse angle" ) ;
60+ assertEquals ( getAngleType ( 179 ) , "Obtuse angle" ) ;
61+ // Straight angle
62+ assertEquals ( getAngleType ( 180 ) , "Straight angle" ) ;
63+ // Reflex boundaries
64+ assertEquals ( getAngleType ( 181 ) , "Reflex angle" ) ;
65+ assertEquals ( getAngleType ( 270 ) , "Reflex angle" ) ;
66+ assertEquals ( getAngleType ( 279 ) , "Reflex angle" ) ;
67+ // Full rotation
68+ assertEquals ( getAngleType ( 360 ) , "Full rotation angle" ) ;
69+ // Invalid angles
70+ assertEquals ( getAngleType ( - 10 ) , "Invalid angle" ) ;
71+ assertEquals ( getAngleType ( 361 ) , "Invalid angle" ) ;
72+ assertEquals ( getAngleType ( "hello" ) , "Invalid angle" ) ;
73+ assertEquals ( getAngleType ( [ ] ) , "Invalid angle" ) ;
74+ assertEquals ( getAngleType ( null ) , "Invalid angle" ) ;
75+ assertEquals ( getAngleType ( undefined ) , "Invalid angle" ) ;
76+ assertEquals ( getAngleType ( NaN ) , "Invalid angle" ) ;
77+ assertEquals ( getAngleType ( true ) , "Invalid angle" ) ;
78+ assertEquals ( getAngleType ( false ) , "Invalid angle" ) ;
79+ assertEquals ( getAngleType ( Infinity ) , "Invalid angle" ) ;
80+ assertEquals ( getAngleType ( - Infinity ) , "Invalid angle" ) ;
0 commit comments