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.