Баночка для печенья

Предположим, вы хотите реализовать баночку для хранения печенья. В файле jar.py реализуйте класс Jar со следующими методами:

Структурируйте свой класс согласно приведённому ниже. Вы не можете изменять параметры этих методов, но можете добавлять свои собственные методы.


class Jar:
    def __init__(self, capacity=12):
    	...

    def __str__(self):
    	...

    def deposit(self, n):
    	...

    def withdraw(self, n):
    	...

    @property
    def capacity(self):
    	...

    @property
    def size(self):
    	...

Либо до, либо после реализации jar.py дополнительно реализуйте в файле с именем test_jar.py четыре или более функции, которые совместно тщательно проверяют вашу реализацию Jar, каждое из имен которых должно начинаться с test_, чтобы вы могли выполнять свои тесты с помощью :


pytest test_jar.py

Обратите внимание, что тестировать методы экземпляра не так просто, как тестировать только функции, поскольку методы экземпляра иногда манипулируют одним и тем же «состоянием» (то есть переменными экземпляра). Чтобы протестировать один метод (например, withdraw), вам может потребоваться сначала вызвать другой метод (например, deposit). Но метод, который вы вызываете первым, сам по себе может быть неправильным!

Подсказка
 
	
from jar import Jar
import pytest


def test_init():
	...

def test_deposit():
    jar = Jar()
    jar.deposit(3)
    assert(jar.size == 3)
    with pytest.raises(ValueError): 
        jar.deposit(10) 


def test_str():
    jar = Jar()
    assert str(jar) == ""
    jar.deposit(3)
    assert str(jar) == "\N{Cookie}"*3

def test_withdaw():
	...
	
	

Шаги выполнения

Зайдите на cs50.dev. Используя команду cd, сделайте рабочим каталогом codespace. Создайте каталог jar, выполнив
mkdir jar
Перейдите в каталог.
cd jar
Выполните

code jar.py

чтобы открыть редактор, и напишите вашу программу. Выполните

code test_jar.py

Чтобы создать файл test_jar.py, гед вы запишите тесты для вашей программы.

Как проверить

Здесь как вы можете проверить ваш код: Вы можете проверить правильность выполнения задания, выполнив команду:
npx cs204 2023/jar local
Для отправки на проверку выполните команду:
npx cs204 2023/jar

Заполните форму

форма отправки на проверку
Свои оценки вы можете посмотреть на http://90.188.117.161:8080.