Exemple #1
0
def test_base_subclass():
    tt = TestTaxon()
    assert isinstance(tt, Taxon)
    assert tt.__repr__() == "<TestTaxon, tid=None>"

    np.testing.assert_equal(tt.range_mask, True)

    record = Record()
    record.advance_time(10)

    output = tt._evolve(10, 0, record)
    np.testing.assert_equal(output, True)

    d = OrderedDict([("time", [0, 10]), ("vara", [np.nan, 1])])
    np.testing.assert_equal(record._dict, d)

    output = tt._evolve(10, 1, record)
    np.testing.assert_equal(output, False)

    np.testing.assert_equal(tt.extant, True)

    d = OrderedDict([("time", [0, 10]), ("vara", [np.nan, 1]),
                     ("varb", [np.nan, 2])])
    np.testing.assert_equal(record._dict, d)

    tt.extant = False
    np.testing.assert_equal(tt._extant, False)
Exemple #2
0
def test_set_value():
    record = Record()
    record.advance_time(10)

    record.set_value('vara', 1)
    d = OrderedDict([('time', [0, 10]), ('vara', [np.nan, 1])])
    np.testing.assert_equal(record._dict, d)

    record.set_value('vara', 3, time=0)
    d = OrderedDict([('time', [0, 10]), ('vara', [3, 1])])
    np.testing.assert_equal(record._dict, d)
Exemple #3
0
def test_initial_time():
    record = Record(initial_time=5)
    record.set_value('vara', 1)
    record.advance_time(10)

    d = OrderedDict([('time', [5, 15]), ('vara', [1, np.nan])])
    np.testing.assert_equal(record._dict, d)
Exemple #4
0
def test_attributes():
    record = Record()
    np.testing.assert_equal(record.prior_time, np.nan)

    record.advance_time(10)

    record.set_value('vara', 1)
    record.set_value('varb', 2)

    np.testing.assert_equal(record.times, [0, 10])
    np.testing.assert_equal(record.prior_time, 0)
    np.testing.assert_equal(record.earliest_time, 0)
    np.testing.assert_equal(record.latest_time, 10)
    np.testing.assert_equal(record.variables, ['vara', 'varb'])
    np.testing.assert_equal(record.count_of_time_steps, 2)
    np.testing.assert_equal(len(record), 2)

    df = pd.DataFrame({
        'time': [0, 10],
        'vara': [np.nan, 1],
        'varb': [np.nan, 2]
    })
    pd.testing.assert_frame_equal(record.data_frame, df, check_like=True)
Exemple #5
0
def test_nonexistent_time():
    record = Record()
    record.set_value('vara', 1)

    np.testing.assert_raises(ValueError, record.get_value, 'vara', 5)
Exemple #6
0
def test_increment_value():
    record = Record()
    record.set_value('vara', 1)
    record.increment_value('vara', 100)

    d = OrderedDict([('time', [0]), ('vara', [101])])
    np.testing.assert_equal(record._dict, d)

    record.advance_time(10)
    record.increment_value('vara', 100)

    d = OrderedDict([('time', [0, 10]), ('vara', [101, 100])])
    np.testing.assert_equal(record._dict, d)

    record.increment_value('varb', 200, time=0)

    d = OrderedDict([('time', [0, 10]), ('vara', [101, 100]),
                     ('varb', [200, np.nan])])
    np.testing.assert_equal(record._dict, d)
Exemple #7
0
def test_get_value():
    record = Record()
    record.set_value('vara', 1)
    record.advance_time(10)
    record.set_value('vara', 2)

    value = record.get_value('vara')
    np.testing.assert_equal(value, 2)

    value = record.get_value('vara', time=0)
    np.testing.assert_equal(value, 1)

    value = record.get_value('varb')
    np.testing.assert_equal(value, np.nan)