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
Bufor kołowy - testy
- stachu
- Użytkownik
- Posty: 49
- Rejestracja: 18 paź 2017, 19:29
- Lokalizacja: Kornatka
- elvis
- Użytkownik
- Posty: 68
- Rejestracja: 30 lis 2018, 17:50
Re: Bufor kołowy - testy
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
/**
* 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
