summary refs log tree commit diff stats
path: root/c/armstrong-numbers/test/test_armstrong_numbers.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/armstrong-numbers/test/test_armstrong_numbers.c')
-rw-r--r--c/armstrong-numbers/test/test_armstrong_numbers.c72
1 files changed, 72 insertions, 0 deletions
diff --git a/c/armstrong-numbers/test/test_armstrong_numbers.c b/c/armstrong-numbers/test/test_armstrong_numbers.c
new file mode 100644
index 0000000..6e3b222
--- /dev/null
+++ b/c/armstrong-numbers/test/test_armstrong_numbers.c
@@ -0,0 +1,72 @@
+#include "vendor/unity.h"
+#include "../src/armstrong_numbers.h"
+
+void setUp(void)
+{
+}
+
+void tearDown(void)
+{
+}
+
+static void test_zero_is_an_armstrong_number(void)
+{
+   TEST_ASSERT_TRUE(is_armstrong_number(0));
+}
+
+static void test_single_digit_numbers_are_armstrong_numbers(void)
+{
+   TEST_ASSERT_TRUE(is_armstrong_number(5));
+}
+
+static void test_there_are_no_two_digit_armstrong_numbers(void)
+{
+   TEST_ASSERT_FALSE(is_armstrong_number(10));
+}
+
+static void test_three_digit_number_that_is_an_armstrong_number(void)
+{
+   TEST_ASSERT_TRUE(is_armstrong_number(153));
+}
+
+static void test_three_digit_number_that_is_not_an_armstrong_number(void)
+{
+   TEST_ASSERT_FALSE(is_armstrong_number(100));
+}
+
+static void test_four_digit_number_that_is_an_armstrong_number(void)
+{
+   TEST_ASSERT_TRUE(is_armstrong_number(9474));
+}
+
+static void test_four_digit_number_that_is_not_an_armstrong_number(void)
+{
+   TEST_ASSERT_FALSE(is_armstrong_number(9475));
+}
+
+static void test_seven_digit_number_that_is_an_armstrong_number(void)
+{
+   TEST_ASSERT_TRUE(is_armstrong_number(9926315));
+}
+
+static void test_seven_digit_number_that_is_not_an_armstrong_number(void)
+{
+   TEST_ASSERT_FALSE(is_armstrong_number(9926314));
+}
+
+int main(void)
+{
+   UnityBegin("test/test_armstrong_numbers.c");
+
+   RUN_TEST(test_zero_is_an_armstrong_number);
+   RUN_TEST(test_single_digit_numbers_are_armstrong_numbers);
+   RUN_TEST(test_there_are_no_two_digit_armstrong_numbers);
+   RUN_TEST(test_three_digit_number_that_is_an_armstrong_number);
+   RUN_TEST(test_three_digit_number_that_is_not_an_armstrong_number);
+   RUN_TEST(test_four_digit_number_that_is_an_armstrong_number);
+   RUN_TEST(test_four_digit_number_that_is_not_an_armstrong_number);
+   RUN_TEST(test_seven_digit_number_that_is_an_armstrong_number);
+   RUN_TEST(test_seven_digit_number_that_is_not_an_armstrong_number);
+
+   return UnityEnd();
+}