describe("ol.feature", function() {
    
    it("should be easy to make a feature", function() {
        var feat = ol.feature();
        
        expect(feat).toBeA(ol.Feature);
    });

    it("should be easy to set feature attribute", function() {

        var feat = ol.feature();
        feat.set('foo', 'bar');
        
        expect(feat).toBeA(ol.Feature);
        expect(feat.get('foo')).toBe('bar');
    });

    it("calling set with one argument", function() {

        var feat = ol.feature();
        feat.set('foo');
        
        expect(feat.get('foo')).toBe(undefined);
    });

    it("should be easy to set feature geometry", function() {

        var feat = ol.feature();
        var point = ol.geom.point([21, 4]);
        feat.geometry(point);
        
        var geom = feat.geometry();
        expect(feat).toBeA(ol.Feature);
        expect(geom.x()).toBe(21);
        expect(geom.y()).toBe(4);
    });

    it("should be easy to create a feature from object literals", function() {

        var feat = ol.feature({
            properties: {
                foo: 'bar',
                two: 'deux',
                size: 3,
                flag: true
            },
            geometry: ol.geom.point([56, 22])
        });
        
        var geom = feat.geometry();
        expect(feat).toBeA(ol.Feature);
        expect(geom.x()).toBe(56);
        expect(geom.y()).toBe(22);
        expect(feat.get('foo')).toBe('bar');
        expect(feat.get('two')).toBe('deux');
        expect(feat.get('size')).toBe(3);
        expect(feat.get('flag')).toBe(true);
    });

    /*
    it("should be easy to create a feature from GeoJSON", function() {

        var geoJson = {
            type: "Feature",
            geometry: {type: "Point", coordinates: [102.0, 0.5]},
            properties: {prop0: "value0"}
        };
        var feat = ol.feature(geoJson);
        
        var geom = feat.geometry();
        expect(feat).toBeA(ol.Feature);
        expect(geom.x()).toBe(102.0);
        expect(geom.y()).toBe(0.5);
        expect(feat.get('prop0')).toBe('value0');
    });
    */

});

