class BarrelProofTest(unittest.TestCase): surveyor = BarrelProof(MODEL, DummyExtractor()) def test_not_measured_yet(self): qs = self.surveyor.not_measured_yet() assert len(qs) == 2 conn = sqlite3.connect(TEST_DB) cur = conn.cursor() query = "INSERT INTO truth VALUES(2, 20.10, 0.54)" cur.execute(query) conn.commit() qs = self.surveyor.not_measured_yet() assert len(qs) == 1 def test_reckon(self): self.surveyor = BarrelProof(MODEL, SmartExtractor()) self.surveyor.reckon() conn = sqlite3.connect(TEST_DB) cur = conn.cursor() # Because fk == 2 is already on the table query = "SELECT * FROM truth WHERE fk != 2;" cur.execute(query) qs = cur.fetchall() assert qs == [(1, 20.09, 0.4292878186)]
def test_reckon(self): self.surveyor = BarrelProof(MODEL, SmartExtractor()) self.surveyor.reckon() conn = sqlite3.connect(TEST_DB) cur = conn.cursor() # Because fk == 2 is already on the table query = "SELECT * FROM truth WHERE fk != 2;" cur.execute(query) qs = cur.fetchall() assert qs == [(1, 20.09, 0.4292878186)]
class Gibberish(BasePsychic): model = PsychicModel() model.DB_FILE = get_relative_path(__file__, 'Gibberish.sqlite3') extractor = OilMiner() surveyor = BarrelProof(model, extractor) def make_your_magic(self): dbw = DbWriter(self.model) best_prices = self.extractor.last5days_high() worse_prices = self.extractor.last5days_low() lower = min([wp.low for wp in worse_prices]) upper = max([bp.high for bp in best_prices]) future_price = random.uniform(lower, upper) future_date = datetime.now() + timedelta(days=1) str_future = future_date.strftime("'%Y-%m-%d'") dbw.write(str_future, "'PETR4'", future_price, table='prediction')