#include <cassert>
#include <iostream>
#include "ogrsf_frmts.h"

int main()
{
    std::cout << "Test: create\n";

    OGRRegisterAll();

    OGRSFDriver *poDriver = NULL;
    poDriver = OGRSFDriverRegistrar::GetRegistrar()->GetDriverByName("ESRI Shapefile");
    if (poDriver == NULL)
    {
        std::cout << "Can not find ESRI Shapefile driver\n";
        return 0;
    }
    
    OGRDataSource *poDS = NULL;
    poDS = poDriver->CreateDataSource("./abc.shp", NULL);
    if (poDS == NULL)
    {
        std::cout << "Can not create abc.shp\n";
        return 0;
    }

    OGRLayer *poLayer = NULL;
    poLayer = poDS->CreateLayer("abc", NULL, wkbPoint, NULL);
    if (poLayer == NULL)
    {
        std::cout << "Can not create abc layer\n";
        return 0;
    }

    if (NULL == poDS->GetDriver())
        std::cout << "NOT OK! Driver is NULL!\n";
    else
        std::cout << "OK! Driver attached!\n";

    OGRDataSource::DestroyDataSource(poDS);
}


