-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wykład 4 - Zadanie 3 #23
Comments
|
Można może liczyć na podpowiedź w kwestii tego gdzie powinien zostać podniesiony wyjątek "OperationNotSupportedError"? Pozostałe dwa zaimplementowałem i podnoszę w odpowiednich metodach, ale nie jestem pewien gdzie powinienem szukać czynnika, który striggeruje ten error |
Czy można prosić o bardziej precyzyjne wyjaśnienie sytuacji, w której wyjątek ma być rzucony? |
Dodatkowo, mój program rzuca wyjątkiem gdy *args oznacza dla niego coś co nie jest intem. Nie rozumiem więc czemu nie przechodzi testów. Submituję pomimo błędów, jakbyście mogli w poniedziałek zerknąć byłbym wdzięczny |
Podpinam się pod pytanie vvooycik: nie wiem, gdzie powinienem podnosić wyjątek OperationNotSupportedError, żeby przechodziło testy. Komunikat błędu podpowiada mi, że mam szukać w tym, jak rozszerzyłem implementację mnożenia. Ale prawdę mówiąc nie wiem już na co patrzeć. myfraction_raises_invalid_operand_error |
Podpinam się pod vvooycik: Dodatkowo, mój program rzuca wyjątkiem gdy *args oznacza dla niego coś co nie jest intem. Nie rozumiem więc czemu nie przechodzi testów. Submituję pomimo błędów, jakbyście mogli w poniedziałek zerknąć byłbym wdzięczny. Dokładnie to samo. |
Odpowiadając na Wasze pytania:
|
Przy Tym problemie pomogło mi zamienienie isinstance na type() |
Nic tak dobitnie by mnie nie nauczyło i utwierdziło w tym, że @Targowsky Tak, pojawił ;) Czy na pewno masz zaimplementowane odwrócone dzielenie, |
Sprawdzam w inicie czy podane argumenty są typu: int,float, bool, dict, list, tuple, set i rzucam InvalidInputOperandError kiedy tak nie jest oraz sprawdzam czy wszystkie podane argumenty są tego samego typu, jeśli nie to też rzucam błędem. Jednakże, niestety wciąż nie przechodzi testów, gdzie może leżeć przyczyna? |
Czym jest to *args w testach? Bo nawet jeśli args jest tuplej to *args przekaże do constructora jej elementy. I jak w init sprawdzić, że była przekazana tupla? Traceback (most recent call last): |
Nie wydaje mi się, żeby rtruediv było potrzebne w jakimkolwiek innym teście niż ten, który sprawdza, że przy jego wywołaniu masz rzucić wyjątkiem o niewspieranej operacji. W końcu dzielenie przecież nie jest naprzemienne, tak jak mnożenie jest. Więc nie rozumien czemu chcesz to implementować analogicznie do mnożenia. Jeżeli używacie @JacobJustCoding Zrób bardziej restrykcyjnego inita. @AndrewMatviichuk Jak wyżej: zaimplementuj bardziej restrykcyjny init. |
Cześć. Dość mocno zaciąłem się w punkcie: validate_input_raises_error:
Traceback (most recent call last):
File "/home/runner/unit_tests.py", line 242, in test_validate_input_raises_error
MyPolynomial(*args)
AssertionError: InvalidInputOperandError not raised
Czy jest możliwość uzyskać wskazówkę? Rozumiem że program powinien wchodzić w InvalidInputOperandError w momencie gdy będziemy wywoływali klasę MyPolynomial używając argumentu, który będzie poprzedzony przez "gwiazdka"? (tak jak pokazuje w błędzie - MyPolynomial(*args))
Tylko wtedy, w jaki sposób jesteśmy w stanie to sprawdzić, gdyby na przykład args był listą, której wszystkimi elementami są liczby?
The text was updated successfully, but these errors were encountered: