1284990Scy#include "config.h" 2284990Scy 3284990Scy#include "ntp_stdlib.h" 4284990Scy 5284990Scy#include "unity.h" 6284990Scy 7289999Sglebius 8289999Sglebiusvoid test_SingleDigit(void); 9289999Sglebiusvoid test_MultipleDigits(void); 10289999Sglebiusvoid test_Zero(void); 11289999Sglebiusvoid test_MaximumUnsigned32bit(void); 12289999Sglebiusvoid test_Overflow(void); 13289999Sglebiusvoid test_IllegalCharacter(void); 14289999Sglebiusvoid test_IllegalDigit(void); 15289999Sglebius 16289999Sglebius 17293893Sglebiusvoid 18293893Sglebiustest_SingleDigit(void) 19293893Sglebius{ 20284990Scy const char* str = "5"; 21284990Scy u_long actual; 22284990Scy 23293893Sglebius TEST_ASSERT_TRUE(octtoint(str, &actual)); 24284990Scy TEST_ASSERT_EQUAL(5, actual); 25293893Sglebius 26293893Sglebius return; 27284990Scy} 28284990Scy 29293893Sglebiusvoid 30293893Sglebiustest_MultipleDigits(void) 31293893Sglebius{ 32284990Scy const char* str = "271"; 33284990Scy u_long actual; 34284990Scy 35293893Sglebius TEST_ASSERT_TRUE(octtoint(str, &actual)); 36284990Scy TEST_ASSERT_EQUAL(185, actual); 37284990Scy 38293893Sglebius return; 39284990Scy} 40284990Scy 41293893Sglebiusvoid 42293893Sglebiustest_Zero(void) 43293893Sglebius{ 44284990Scy const char* str = "0"; 45284990Scy u_long actual; 46284990Scy 47293893Sglebius TEST_ASSERT_TRUE(octtoint(str, &actual)); 48284990Scy TEST_ASSERT_EQUAL(0, actual); 49284990Scy 50293893Sglebius return; 51284990Scy} 52284990Scy 53293893Sglebiusvoid 54293893Sglebiustest_MaximumUnsigned32bit(void) 55293893Sglebius{ 56284990Scy const char* str = "37777777777"; 57284990Scy u_long actual; 58284990Scy 59293893Sglebius TEST_ASSERT_TRUE(octtoint(str, &actual)); 60284990Scy TEST_ASSERT_EQUAL(4294967295UL, actual); 61284990Scy 62293893Sglebius return; 63284990Scy} 64284990Scy 65293893Sglebiusvoid 66293893Sglebiustest_Overflow(void) 67293893Sglebius{ 68284990Scy const char* str = "40000000000"; 69284990Scy u_long actual; 70284990Scy 71293893Sglebius TEST_ASSERT_FALSE(octtoint(str, &actual)); 72284990Scy 73293893Sglebius return; 74284990Scy} 75284990Scy 76293893Sglebiusvoid 77293893Sglebiustest_IllegalCharacter(void) 78293893Sglebius{ 79284990Scy const char* str = "5ac2"; 80284990Scy u_long actual; 81284990Scy 82293893Sglebius TEST_ASSERT_FALSE(octtoint(str, &actual)); 83284990Scy 84293893Sglebius return; 85284990Scy} 86284990Scy 87293893Sglebiusvoid 88293893Sglebiustest_IllegalDigit(void) 89293893Sglebius{ 90284990Scy const char* str = "5283"; 91284990Scy u_long actual; 92284990Scy 93293893Sglebius TEST_ASSERT_FALSE(octtoint(str, &actual)); 94284990Scy 95293893Sglebius return; 96284990Scy} 97