Identifying code smells

The following is an implementation that passes the tests (for a listing of the test cases, download the code for this chapter from https://github.com/siddhi/test_driven_python). The implementation uses the timedelta class from the datetime module, so you'll have to import it at the top of the file to get it to work.

 def get_crossover_signal(self, on_date): cpl = [] for i in range(11): chk = on_date.date() - timedelta(i) for price_event in reversed(self.price_history): if price_event.timestamp.date() > chk: pass if price_event.timestamp.date() == chk: cpl.insert(0, price_event) break if price_event.timestamp.date() < chk: cpl.insert(0, price_event) break # Return NEUTRAL signal if len(cpl) < 11: return 0 # BUY signal if ...

Get Test-Driven Python Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.