void test_write3_read3_16(void){
    uint16_t dataIn[3] = {1,2,3};
    uint16_t dataOut[BUFFER_ARRAY_LENGTH] = {0};
    
    uint16_t bufferArray[BUFFER_ARRAY_LENGTH] = {0};
    Buffer b;
    BufferStatus status;
    uint16_t data;
    
    status = BUF_init(&b, bufferArray, BUFFER_ARRAY_LENGTH, 16);
    
    int i;
    for(i = 0; i < 3; i++){
        status = BUF_write16(&b, dataIn[i]);
    }
    
    for(i = 0; i < 3; i++){
        dataOut[i] = BUF_read16(&b);
    }
    
    /* test each element of the array */
    for(i = 0; i < 3; i++){
        TEST_ASSERT_EQUAL_INT(dataIn[i], dataOut[i]);
    }
}
void test_write_overflow_16(void){
    uint16_t dataIn[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    uint16_t dataOut[BUFFER_ARRAY_LENGTH] = {0};
    
    uint16_t bufferArray[BUFFER_ARRAY_LENGTH] = {0};
    Buffer b;
    BufferStatus status;
    uint16_t data;
    
    status = BUF_init(&b, bufferArray, BUFFER_ARRAY_LENGTH, 16);
    
    int i;
    for(i = 0; i < 10; i++){
        status = BUF_write16(&b, dataIn[i]);
    }
    
    for(i = 0; i < BUFFER_ARRAY_LENGTH; i++){
        dataOut[i] = BUF_read16(&b);
    }
    
    /* test each element of the array */
    for(i = 0; i < BUFFER_ARRAY_LENGTH; i++){
        TEST_ASSERT_EQUAL_INT(i, dataOut[i]);
    }
}
void test_write_to_full_16(void){
    uint16_t bufferArray[BUFFER_ARRAY_LENGTH] = {0};
    Buffer b;
    BufferStatus status;
    
    status = BUF_init(&b, bufferArray, BUFFER_ARRAY_LENGTH, 16);
    
    int i;
    for(i = 0; i < BUFFER_ARRAY_LENGTH; i++){
        status = BUF_write16(&b, 1);
    }
    
	TEST_ASSERT_EQUAL_INT(BUFFER_FULL, status);
}
void test_write_to_full_read_to_empty_16(void){
    uint16_t bufferArray[BUFFER_ARRAY_LENGTH] = {0};
    Buffer b;
    BufferStatus status;
    uint16_t data;
    
    status = BUF_init(&b, bufferArray, BUFFER_ARRAY_LENGTH, 16);
    
    int i;
    for(i = 0; i < BUFFER_ARRAY_LENGTH; i++){
        status = BUF_write16(&b, 1);
    }
    
    for(i = 0; i < BUFFER_ARRAY_LENGTH; i++){
        data = BUF_read16(&b);
    }
    
    status = BUF_status(&b);
    
	TEST_ASSERT_EQUAL_INT(BUFFER_EMPTY, status);
}
Exemple #5
0
void BUF_write32(Buffer_t *buffer, uint32_t val) {
    assert(buffer != NULL);
    BUF_write16(buffer, val & 0xFFFF);
    BUF_write16(buffer, (val >> 16) & 0xFFFF);
}