def test_init(self, kwargs, msg_err): assert hasattr(homework, 'Record'), msg_err('add_class', 'Record') result = homework.Record(**kwargs) assert hasattr(result, 'amount'), msg_err('add_attr', 'amount', 'Record') assert result.amount == kwargs['amount'], msg_err( 'wrong_attr', 'amount', 'Record') assert hasattr(result, 'comment'), msg_err('add_attr', 'comment', 'Record') assert result.comment == kwargs.get('comment', ''), msg_err( 'wrong_attr', 'comment', 'Record') assert hasattr(result, 'date'), msg_err('add_attr', 'date', 'Record') if 'date' in kwargs: assert result.date == datetime.strptime( kwargs['date'], '%d.%m.%Y').date(), (msg_err('wrong_attr', 'date', 'Record', ', свойство должно быть датой')) else: assert result.date == datetime.now().date(), (msg_err( 'wrong_attr', 'date', 'Record', ', свойство должно быть датой')) assert not hasattr(result, 'USD_RATE'), msg_err( 'dont_create_attr', 'USD_RATE', 'Record') assert not hasattr(result, 'EURO_RATE'), msg_err( 'dont_create_attr', 'EURO_RATE', 'Record')
def data_records(): amount = 150 count = random.randint(20, 40) today_count = random.randint(5, 10) week_count = random.randint(5, 10) + today_count data = [] for idx, _ in enumerate(range(count)): if idx < today_count: date = datetime.now() elif idx < week_count: date = datetime.now() - timedelta(days=random.randint(1, 6)) else: date = datetime(2019, 9, 1) data.append( homework.Record(amount=amount, comment=f'Test {idx}', date=date.strftime('%d.%m.%Y'))) random.shuffle(data) return data, today_count * amount, week_count * amount