Bufor kołowy - testy

Keil uvision, IAR ...
ODPOWIEDZ
Awatar użytkownika
stachu
Użytkownik
Posty: 49
Rejestracja: 18 paź 2017, 19:29
Lokalizacja: Kornatka

Bufor kołowy - testy

Post autor: stachu »

Witam,

Wykonuje sobie ćwiczenie z buforem kołowym.

Napisałem implementację tylko mam problem z testami, podczas drugiego testu wyskakuje mi błąd i nie wiem co jest jego przyczyną.

Wystarczy kliknąć Run, a w konsoli pojawia się wyniki.

https://onlinegdb.com/ryN-Z8hw8

Będę wdzięczny za wskazówki.

Pozdrawiam

Awatar użytkownika
elvis
Użytkownik
Posty: 65
Rejestracja: 30 lis 2018, 17:50

Re: Bufor kołowy - testy

Post autor: elvis »

Chyba sam pogubiłeś się w tym co chciałeś zrobić, a co przetestować. Masz funkcję RingBuffer_GetCapacity:

/**
* Returns the capacity (in bytes) of the given buffer.
*
* @param ringBuffer pointer to a \ref RingBuffer structure
* @return capacity (in bytes) of the ring buffer (how much characters can it store)
*/
size_t RingBuffer_GetCapacity(const RingBuffer *ringBuffer);


W jej treści zwracasz ile jest jeszcze miejsca w buforze:

size_t RingBuffer_GetCapacity(const RingBuffer *ringBuffer)
{
size_t dataLen = ringBuffer->len;
size_t dataSize = ringBuffer->size;
size_t cap = dataSize-dataLen;
return cap;
}


Natomiast testując oczekujesz chyba że ta funkcja zwraca pojemność całego bufora.

Inna sprawa, że to nie jedyny, ani wcale nie najpoważniejszy błąd w programie... ale zobaczymy czy znajdziesz go za pomocą testów jednostkowych :)

ODPOWIEDZ

Wróć do „Inne środowiska”