def test_type_hashable(): m = {dt.Type.int32: 'ok', dt.Type.str64: 'yep'} assert dt.Type.int32 in m assert dt.Type('int32') in m assert dt.Type.str64 in m assert dt.Type('str64') in m assert dt.Type.int64 not in m
def test_empty_frame(st): f0 = dt.Frame([[]], stype=st) f1 = dt.Frame([None], stype=st) frame_integrity_check(f0) frame_integrity_check(f1) assert f0.shape == (0, 1) assert f1.shape == (1, 1) assert f0.type == f1.type == dt.Type(st) assert f0.countna1() == 0 assert f0.nunique1() == 0 assert f1.countna1() == 1 assert f1.nunique1() == 0 assert f1.mode1() is None assert f1.nmodal1() == 0
def test_tonumpy_numerics(np, src_type): DT = dt.Frame([-3, 3, 5, 0, 2], stype=src_type) a = DT.to_numpy() assert dt.Type(a.dtype) == DT.types[0] assert a.shape == DT.shape assert a.T.tolist() == DT.to_list()
def test_date32_type_from_pyarrow(pa): assert dt.Type(pa.date32()) == dt.Type.date32
def test_date32_type_from_numpy(np): assert dt.Type(np.dtype("datetime64[D]")) == dt.Type.date32
def test_date32_type_from_basic(): assert dt.Type("date") == dt.Type.date32 assert dt.Type("date32") == dt.Type.date32 assert dt.Type(datetime.date) == dt.Type.date32