Я хочу провести модульное тестирование моего кода, чтобы убедиться, что код выводится правильно.
Я пробовал это также из StackOverflow, но не работает:
input = pd.DataFrame.from_dict({
'rev': [0],
'price': [0]
})
expected = {
'data': ['cool']
}
assert_dict_equal(expected, data(input).to_dict(),
"oops, there's a bug...")
def temperature(row):
rev = row['rev']
price = row['price']
group = row['group']
if group == 'error':
return 'error'
elif revenue > 2 * price:
return 'cold'
elif revenue >= price:
return 'cool'
elif revenue < 0.5 * price:
return 'hot'
elif revenue < price:
return 'lukewarm'
else:
float('NA')
data['temp'] = sample.apply(temperature, axis=1)
assert temperature({"group": 'T2_Y2', "rev": 0, "price": 0},
"group", "rev", "price") == 'cool'
assert temperature({"group": 'T2_Y2', "rev": 30, "price": 10},
"group", "rev", "price") == 'cold'
assert temperature({"group": 'T2_Y2', "rev": 3, "price": 10},
"group", "rev", "price") == 'hot'
Ожидаемый результат должен возвращаться без ошибок, пока на выходе выдается ошибка.
TypeError: температура () принимает 1 позиционный аргумент, но 4 были заданы