示例#1
0
def make_three_and_yield_one_organism():
    """Нужно минимум три организма для дифференциальной эволюции."""
    population.Organism().save()
    population.Organism().save()
    organism = population.Organism()
    organism.save()
    yield organism
示例#2
0
def test_count():
    assert population.count() == 4

    org1 = population.Organism()
    org1._doc.save()
    assert population.count() == 5

    org2 = population.Organism()
    org2._doc.save()
    assert population.count() == 6

    org1.die()
    assert population.count() == 5

    org2.die()
    assert population.count() == 4
示例#3
0
def test_die(organism):
    id_ = organism.id
    organism.die()

    with pytest.raises(store.IdError) as error:
        population.Organism(_id=id_)
    assert str(id_) == str(error.value)
示例#4
0
def test_forecast():
    org = population.Organism()
    org.evaluate_fitness(("GAZP", "AKRN"), pd.Timestamp("2020-04-21"))
    rez = org.forecast(("GAZP", "AKRN"), pd.Timestamp("2020-04-21"))

    assert isinstance(rez, Forecast)
    assert rez.date == pd.Timestamp("2020-04-21")
    assert rez.tickers == ("GAZP", "AKRN")
示例#5
0
def test_reload_organism(organism):
    population.Organism(_id=organism.id)

    assert organism._doc.llh == 5
    assert organism._doc.date == pd.Timestamp("2020-04-12")
    assert organism._doc.tickers == ["GAZP", "AKRN"]
    assert organism._doc.model == bytes(6)
    assert organism._doc.timer > 0
    assert organism.wins == 1
示例#6
0
def make_weak_organism():
    weak = population.Organism()
    weak._doc.llh = -100
    weak._doc.timer = 100
    weak._doc.date = pd.Timestamp("2020-04-13")
    weak._doc.tickers = ("GAZP", "LKOH")

    yield weak

    weak.die()
示例#7
0
def make_organism():
    test_organism = population.Organism()
    yield test_organism
示例#8
0
def test_create_new_organism():
    org = population.create_new_organism()
    assert isinstance(org, population.Organism)

    assert population.Organism(_id=org.id).id == org.id
    org.die()
示例#9
0
def test_raise_forecast_error():
    with pytest.raises(population.ForecastError) as error:
        population.Organism().forecast(("GAZP", "AKRN"),
                                       pd.Timestamp("2020-04-13"))
    assert isinstance(population.ForecastError(), error.type)