def test_pfsobject():
    import numpy as np
    import math

    from pfs.datamodel import TargetData, TargetObservations, PfsObject, MaskHelper

    wavels = [elt for elt in range(10)]
    fluxls = [elt/10.*math.pi for elt in wavels]

    target = TargetData(
        catId="12",
        tract="34",
        patch="56",
        objId="78",
        ra=0.0,
        dec=0.0,
        targetType='SCIENCE',
        fiberMags={'A': 1.0})

    observations = TargetObservations(
        identity=[target.identity],
        fiberId=np.array([1]),
        pfiNominal=np.array([[0.1, 0.2]]),
        pfiCenter=np.array([[0.3, 0.4]]))

    obj = PfsObject(target=target,
                    observations=observations,
                    wavelength=np.array(wavels),
                    flux=np.array(fluxls),
                    mask=np.zeros(10),
                    sky=np.zeros(10),
                    covar=np.array([np.ones(10), np.zeros(10), np.zeros(10)]),
                    covar2=np.random.rand(2, 2),
                    flags=MaskHelper())

    obj.write(dirName='./')
