summaryrefslogtreecommitdiff
path: root/FreeRTOS-Plus/Test/CMock/examples/temp_sensor/test/TestUsartConfigurator.c
diff options
context:
space:
mode:
Diffstat (limited to 'FreeRTOS-Plus/Test/CMock/examples/temp_sensor/test/TestUsartConfigurator.c')
-rw-r--r--FreeRTOS-Plus/Test/CMock/examples/temp_sensor/test/TestUsartConfigurator.c77
1 files changed, 77 insertions, 0 deletions
diff --git a/FreeRTOS-Plus/Test/CMock/examples/temp_sensor/test/TestUsartConfigurator.c b/FreeRTOS-Plus/Test/CMock/examples/temp_sensor/test/TestUsartConfigurator.c
new file mode 100644
index 000000000..b23029e9b
--- /dev/null
+++ b/FreeRTOS-Plus/Test/CMock/examples/temp_sensor/test/TestUsartConfigurator.c
@@ -0,0 +1,77 @@
+#include "unity.h"
+#include "Types.h"
+#include "UsartConfigurator.h"
+
+AT91S_PIO PioAPeripheral;
+AT91S_PMC PmcPeripheral;
+AT91S_USART Usart0Peripheral;
+
+void setUp(void)
+{
+}
+
+void tearDown(void)
+{
+}
+
+void testConfigureUsartIOShouldConfigureUsartTxPinfForPeripheralIO(void)
+{
+ AT91C_BASE_PIOA->PIO_ASR = 0;
+ AT91C_BASE_PIOA->PIO_BSR = 0xffffffff;
+ AT91C_BASE_PIOA->PIO_PDR = 0;
+ Usart_ConfigureUsartIO();
+ TEST_ASSERT_EQUAL(USART0_TX_PIN, AT91C_BASE_PIOA->PIO_ASR);
+ TEST_ASSERT_EQUAL(0, AT91C_BASE_PIOA->PIO_BSR);
+ TEST_ASSERT_EQUAL(USART0_TX_PIN, AT91C_BASE_PIOA->PIO_PDR);
+}
+
+void testEnablePeripheralClockShouldEnableClockToUsartPeripheral(void)
+{
+ AT91C_BASE_PMC->PMC_PCER = 0;
+ Usart_EnablePeripheralClock();
+ TEST_ASSERT_EQUAL(((uint32)1) << USART0_CLOCK_ENABLE, AT91C_BASE_PMC->PMC_PCER);
+}
+
+void testResetShouldDisableAllUsartInterrupts(void)
+{
+ AT91C_BASE_US0->US_IDR = 0;
+ Usart_Reset();
+ TEST_ASSERT_EQUAL(0xffffffff, AT91C_BASE_US0->US_IDR);
+}
+
+void testResetShouldResetUsartTransmitterAndReceiver(void)
+{
+ AT91C_BASE_US0->US_CR = 0;
+ Usart_Reset();
+ TEST_ASSERT_EQUAL(AT91C_US_RSTRX | AT91C_US_RSTTX | AT91C_US_RXDIS | AT91C_US_TXDIS, AT91C_BASE_US0->US_CR);
+}
+
+void testConfigureModeShouldSetUsartModeToAsynchronous(void)
+{
+ uint32 asyncMode = (AT91C_US_USMODE_NORMAL |
+ AT91C_US_NBSTOP_1_BIT |
+ AT91C_US_PAR_NONE |
+ AT91C_US_CHRL_8_BITS |
+ AT91C_US_CLKS_CLOCK);
+
+ AT91C_BASE_US0->US_MR = ~asyncMode;
+ Usart_ConfigureMode();
+ TEST_ASSERT_EQUAL(asyncMode, AT91C_BASE_US0->US_MR);
+}
+
+void testSetBaudRateRegisterShouldSetUsartBaudRateRegisterToValuePassedAsParameter(void)
+{
+ AT91C_BASE_US0->US_BRGR = 0;
+ Usart_SetBaudRateRegister(3);
+ TEST_ASSERT_EQUAL(3, AT91C_BASE_US0->US_BRGR);
+ Usart_SetBaudRateRegister(251);
+ TEST_ASSERT_EQUAL(251, AT91C_BASE_US0->US_BRGR);
+}
+
+
+void testEnableShouldEnableUsart0Transmitter(void)
+{
+ AT91C_BASE_US0->US_CR = 0;
+ Usart_Enable();
+ TEST_ASSERT_EQUAL(AT91C_US_TXEN, AT91C_BASE_US0->US_CR);
+}