Pracownia 2 - testy (semafory)

Czy może ktoś chciałby podzielić się testami do zadania z własną implementacją semaforów?
Ktoś z poprzednich lat?

Rozwiązanie problemu synchronizacyjnego korzystające z semaforów podano na wykładzie, ale są też we wszystkich podręcznikach do SO. Wasze rozwiązania będą sprawdzane w kierunku wykrycia plagiatów, więc sugeruję nie “pożyczać” od siebie żadnych źródeł w tym testów, które również należy dostarczyć.

Dużo lepszym pomysłem byłoby, gdybyście zrobili sobie kilkuosobowe spotkanie i zastanowili się nad strategią testowania rozwiązań. Na pewno dobrym pomysłem jest ustalenie niezmienników i sprawdzanie ich funkcją assert.

Gdzie na liście zadań umieszczona jest informacja o konieczności dołączenia testów do swojego rozwiązania?

Nie ma. Bo nie trzeba (chyba). Ale za pewnie wskazane jest przetestowanie programów przed ich oddaniem.

W takim razie zgodnie z listą zadań można by napisać jeden test i podzielić się z nim z całą grupą. Stąd moje pytanie.

Rzeczywiście w zadaniu nie zostało to napisane wprost (w związku z tym ukaże się poprawka), ale spodziewam się należytego przetestowania implementacji semaforów. Brak własnoręcznie napisanego testu budzi u mnie pewien niesmak - uważam, że każdy odpowiedzialny programista powinien samodzielnie przetestować swój kod. Ostatecznie pisanie dobrych testów to też sztuka.

Jednakże dopuszczam opcję dzielenia się testami na zasadzie: “mój test przechodzi, zobaczmy czy twój też”. W końcu implementujecie z góry zadany interfejs.