@@ -1758,6 +1758,146 @@ int test_notecard_clearDebugOutputStream_clears_the_debug_log_function_pointer()
17581758  return  result;
17591759}
17601760
1761+ int  test_notecard_setFn_shares_a_memory_allocation_function_pointer ()
1762+ {
1763+   int  result;
1764+ 
1765+    //  Arrange
1766+   // //////////
1767+ 
1768+   const  mallocFn mockMallocFn = reinterpret_cast <mallocFn>(0x19790917 );
1769+ 
1770+   Notecard notecard;
1771+   noteSetFn_Parameters.reset ();
1772+ 
1773+    //  Action
1774+   // /////////
1775+ 
1776+   notecard.setFn (mockMallocFn, nullptr , nullptr , nullptr );
1777+ 
1778+    //  Assert
1779+   // /////////
1780+ 
1781+   if  (noteSetFn_Parameters.mallocfn )
1782+   {
1783+     result = 0 ;
1784+   }
1785+   else 
1786+   {
1787+     result = static_cast <int >(' n' ' o' ' t' ' e' ' c' ' a' ' r' ' d' 
1788+     std::cout << " \33 [31mFAILED\33 [0m] " " :" 
1789+     std::cout << " \t noteSetFn_Parameters.mallocfn == " mallocfn  << " , EXPECTED: not 0 (`nullptr`)" 
1790+     std::cout << " [" 
1791+   }
1792+ 
1793+   return  result;
1794+ }
1795+ 
1796+ int  test_notecard_setFn_shares_a_memory_deallocation_function_pointer ()
1797+ {
1798+   int  result;
1799+ 
1800+    //  Arrange
1801+   // //////////
1802+ 
1803+   const  freeFn mockFreeFn = reinterpret_cast <freeFn>(0x19790917 );
1804+ 
1805+   Notecard notecard;
1806+   noteSetFn_Parameters.reset ();
1807+ 
1808+    //  Action
1809+   // /////////
1810+ 
1811+   notecard.setFn (nullptr , mockFreeFn, nullptr , nullptr );
1812+ 
1813+    //  Assert
1814+   // /////////
1815+ 
1816+   if  (noteSetFn_Parameters.freefn )
1817+   {
1818+     result = 0 ;
1819+   }
1820+   else 
1821+   {
1822+     result = static_cast <int >(' n' ' o' ' t' ' e' ' c' ' a' ' r' ' d' 
1823+     std::cout << " \33 [31mFAILED\33 [0m] " " :" 
1824+     std::cout << " \t noteSetFn_Parameters.freefn == " freefn  << " , EXPECTED: not 0 (`nullptr`)" 
1825+     std::cout << " [" 
1826+   }
1827+ 
1828+   return  result;
1829+ }
1830+ 
1831+ int  test_notecard_setFn_shares_a_delay_function_pointer ()
1832+ {
1833+   int  result;
1834+ 
1835+    //  Arrange
1836+   // //////////
1837+ 
1838+   const  delayMsFn mockDelayFn = reinterpret_cast <delayMsFn>(0x19790917 );
1839+ 
1840+   Notecard notecard;
1841+   noteSetFn_Parameters.reset ();
1842+ 
1843+    //  Action
1844+   // /////////
1845+ 
1846+   notecard.setFn (nullptr , nullptr , mockDelayFn, nullptr );
1847+ 
1848+    //  Assert
1849+   // /////////
1850+ 
1851+   if  (noteSetFn_Parameters.delayfn )
1852+   {
1853+     result = 0 ;
1854+   }
1855+   else 
1856+   {
1857+     result = static_cast <int >(' n' ' o' ' t' ' e' ' c' ' a' ' r' ' d' 
1858+     std::cout << " \33 [31mFAILED\33 [0m] " " :" 
1859+     std::cout << " \t noteSetFn_Parameters.delayfn == " delayfn  << " , EXPECTED: not 0 (`nullptr`)" 
1860+     std::cout << " [" 
1861+   }
1862+ 
1863+   return  result;
1864+ }
1865+ 
1866+ int  test_notecard_setFn_shares_a_millis_function_pointer ()
1867+ {
1868+   int  result;
1869+ 
1870+    //  Arrange
1871+   // //////////
1872+ 
1873+   const  getMsFn mockMillisFn = reinterpret_cast <getMsFn>(0x19790917 );
1874+ 
1875+   Notecard notecard;
1876+   noteSetFn_Parameters.reset ();
1877+ 
1878+    //  Action
1879+   // /////////
1880+ 
1881+   notecard.setFn (nullptr , nullptr , nullptr , mockMillisFn);
1882+ 
1883+    //  Assert
1884+   // /////////
1885+ 
1886+   if  (noteSetFn_Parameters.millisfn )
1887+   {
1888+     result = 0 ;
1889+   }
1890+   else 
1891+   {
1892+     result = static_cast <int >(' n' ' o' ' t' ' e' ' c' ' a' ' r' ' d' 
1893+     std::cout << " \33 [31mFAILED\33 [0m] " " :" 
1894+     std::cout << " \t noteSetFn_Parameters.millisfn == " millisfn  << " , EXPECTED: not 0 (`nullptr`)" 
1895+     std::cout << " [" 
1896+   }
1897+ 
1898+   return  result;
1899+ }
1900+ 
17611901int  test_notecard_setFnI2cMutex_does_not_modify_locking_mutex_func_parameter_value_before_passing_to_note_c ()
17621902{
17631903  int  result;
@@ -4928,6 +5068,10 @@ int main(void)
49285068      {test_notecard_setDebugOutputStream_shares_a_debug_log_function_pointer, " test_notecard_setDebugOutputStream_shares_a_debug_log_function_pointer" 
49295069      {test_notecard_setDebugOutputStream_clears_the_debug_log_function_pointer_when_nullptr_is_provided, " test_notecard_setDebugOutputStream_clears_the_debug_log_function_pointer_when_nullptr_is_provided" 
49305070      {test_notecard_clearDebugOutputStream_clears_the_debug_log_function_pointer, " test_notecard_clearDebugOutputStream_clears_the_debug_log_function_pointer" 
5071+       {test_notecard_setFn_shares_a_memory_allocation_function_pointer, " test_notecard_setFn_shares_a_memory_allocation_function_pointer" 
5072+       {test_notecard_setFn_shares_a_memory_deallocation_function_pointer, " test_notecard_setFn_shares_a_memory_deallocation_function_pointer" 
5073+       {test_notecard_setFn_shares_a_delay_function_pointer, " test_notecard_setFn_shares_a_delay_function_pointer" 
5074+       {test_notecard_setFn_shares_a_millis_function_pointer, " test_notecard_setFn_shares_a_millis_function_pointer" 
49315075      {test_notecard_setFnI2cMutex_does_not_modify_locking_mutex_func_parameter_value_before_passing_to_note_c, " test_notecard_setFnI2cMutex_does_not_modify_locking_mutex_func_parameter_value_before_passing_to_note_c" 
49325076      {test_notecard_setFnI2cMutex_does_not_modify_unlocking_mutex_func_parameter_value_before_passing_to_note_c, " test_notecard_setFnI2cMutex_does_not_modify_unlocking_mutex_func_parameter_value_before_passing_to_note_c" 
49335077      {test_notecard_setFnNoteMutex_does_not_modify_locking_mutex_func_parameter_value_before_passing_to_note_c, " test_notecard_setFnNoteMutex_does_not_modify_locking_mutex_func_parameter_value_before_passing_to_note_c" 
0 commit comments