def testManipulacji():
    fieldnames = ['X', 'Y']
    fieldtypes = ['L', 'f']
    df = DataFrame('XvsY', fieldnames, fieldtypes)
    rec = df.Record(0, 6.4)
    df.dodajByTuple(rec)
    df.dodajByTuple((1, 3.5))
    df.dodajByTuple((2, 2.1))
    df.dodajByTuple((3, 1.97))
    x = df[0]
    assert x.tolist() == [0, 1, 2, 3]

    y = df['X']
    assert y.tolist() == [0, 1, 2, 3]
    y = df['Y']

    df.dodajByTuple((4, 1.7))
    df.dodajByTuple((5, 1.5))

    assert df.row(1) == {'X': 1, 'Y': 3.5}

    r = df.row(1)

    print(r['X'] > 2)
    print(r['X'])

    r = df.rows(lambda rec: rec['X'] > 2)
    ans = list()
    for row in r:
        print(row)
        ans.append(row['X'])

    assert ans == [3, 4, 5]
def testWczytania():
    fieldnames = ['IDStalej', 'WartoscStalej']
    fieldtypes = ['L', 'f']
    df = DataFrame('bazadanych', fieldnames, fieldtypes)
    rec = df.Record(1, 3.14)
    df.dodajByTuple(rec)
    df.dodajByTuple((2, 2.79))
    strtemp = TemporaryDirectory(dir='/tmp/temp')
    strPlik = strtemp.name + "/tmp.csv"
    df.zapisz(strPlik)
    df2 = DataFrame.wczytaj(strPlik)
    df2.zapisz(strtemp.name + "/tmp2.csv")
    assert cmp(strPlik, strtemp.name + "/tmp2.csv", shallow=False) == True
    strtemp.cleanup()