def test_vl_spec_for_x_y__defaults():

    for x in [api.X('foobar'), api.Y('foobar')]:
        assert x.name == 'foobar'
        assert x.type is None       # TODO: None?! Spec says type is required
        assert x.aggregate is None
        assert x.timeUnit is None
        assert x.bin == False
        assert x.scale is None
        assert x.axis is None
        assert x.band is None
        assert x.sort == []

    for x in [api.X('foobar:O'), api.Y('foobar:O')]:
        assert x.name == 'foobar'
        assert x.type == 'O'
        assert x.aggregate is None
        assert x.timeUnit is None
        assert x.bin == False
        assert x.scale is None
        assert x.axis is None
        assert x.band is None
        assert x.sort == []

    for x in [api.X('sum(foobar):Q'), api.Y('sum(foobar):Q')]:
        assert x.name == 'foobar'
        assert x.type == 'Q'
        assert x.aggregate == 'sum'
        assert x.timeUnit is None
        assert x.bin == False
        assert x.scale is None
        assert x.axis is None
        assert x.band is None
        assert x.sort == []
Check that defaults are according to spec
dataset/ETHPy150Open ellisonbg/altair/altair/tests/test_api.py/test_vl_spec_for_x_y__defaults