// Path: src/main/java/org/telosys/tools/generic/model/types/AttributeTypeInfo.java
// public static final int     NONE           =  0 ;
// 
// Path: src/main/java/org/telosys/tools/generic/model/types/AttributeTypeInfo.java
// public static final int     NOT_NULL       =  1 ;
// 
// Path: src/main/java/org/telosys/tools/generic/model/types/AttributeTypeInfo.java
// public static final int     OBJECT_TYPE    =  4 ;
// 
// Path: src/main/java/org/telosys/tools/generic/model/types/AttributeTypeInfo.java
// public static final int     PRIMITIVE_TYPE =  2 ;
// 
// Path: src/main/java/org/telosys/tools/generic/model/types/AttributeTypeInfo.java
// public static final int     UNSIGNED_TYPE  =  8 ;


import static org.telosys.tools.generic.model.types.AttributeTypeInfo.NONE;
import static org.telosys.tools.generic.model.types.AttributeTypeInfo.NOT_NULL;
import static org.telosys.tools.generic.model.types.AttributeTypeInfo.OBJECT_TYPE;
import static org.telosys.tools.generic.model.types.AttributeTypeInfo.PRIMITIVE_TYPE;
import static org.telosys.tools.generic.model.types.AttributeTypeInfo.UNSIGNED_TYPE;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
	private void checkObjectType( LanguageType lt, String simpleType, String fullType) {
		assertNotNull(lt);
		assertFalse ( lt.isPrimitiveType() ) ;
		assertEquals(simpleType, lt.getSimpleType() );
		assertEquals(fullType,   lt.getFullType() );
		assertEquals(simpleType, lt.getWrapperType() );
	}
	
	@Test
	public void testString() {
		System.out.println("--- ");
		
		checkPrimitiveType( getType(NeutralType.STRING, NONE ),            "string", "System.String");
		checkPrimitiveType( getType(NeutralType.STRING, NOT_NULL ),        "string", "System.String");
		checkPrimitiveType( getType(NeutralType.STRING, PRIMITIVE_TYPE ),  "string", "System.String");
		checkPrimitiveType( getType(NeutralType.STRING, UNSIGNED_TYPE ),   "string", "System.String");
		checkPrimitiveType( getType(NeutralType.STRING, PRIMITIVE_TYPE + UNSIGNED_TYPE ), "string", "System.String");
//		checkPrimitiveType( getType(NeutralType.STRING, SQL_TYPE),         "string", "System.String" );
		
		checkObjectType( getType(NeutralType.STRING, OBJECT_TYPE),            "String", "System.String" );
//		checkObjectType( getType(NeutralType.STRING, OBJECT_TYPE + SQL_TYPE), "String", "System.String" );
	}

	@Test
	public void testBoolean() {
		System.out.println("--- ");
				
		checkPrimitiveType( getType( NeutralType.BOOLEAN, NONE ),                  "bool", "System.Boolean" );
		checkPrimitiveType( getType( NeutralType.BOOLEAN, NOT_NULL ),              "bool", "System.Boolean");
		checkPrimitiveType( getType( NeutralType.BOOLEAN, PRIMITIVE_TYPE ),        "bool", "System.Boolean");
// Path: src/main/java/org/telosys/tools/generic/model/types/AttributeTypeInfo.java
// public static final int     NONE           =  0 ;
// 
// Path: src/main/java/org/telosys/tools/generic/model/types/AttributeTypeInfo.java
// public static final int     NOT_NULL       =  1 ;
// 
// Path: src/main/java/org/telosys/tools/generic/model/types/AttributeTypeInfo.java
// public static final int     OBJECT_TYPE    =  4 ;
// 
// Path: src/main/java/org/telosys/tools/generic/model/types/AttributeTypeInfo.java
// public static final int     PRIMITIVE_TYPE =  2 ;
// 
// Path: src/main/java/org/telosys/tools/generic/model/types/AttributeTypeInfo.java
// public static final int     UNSIGNED_TYPE  =  8 ;


// Path: src/test/java/org/telosys/tools/generic/model/types/TypeConverterForCSharpTest.java
import static org.telosys.tools.generic.model.types.AttributeTypeInfo.NONE;
import static org.telosys.tools.generic.model.types.AttributeTypeInfo.NOT_NULL;
import static org.telosys.tools.generic.model.types.AttributeTypeInfo.OBJECT_TYPE;
import static org.telosys.tools.generic.model.types.AttributeTypeInfo.PRIMITIVE_TYPE;
import static org.telosys.tools.generic.model.types.AttributeTypeInfo.UNSIGNED_TYPE;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

	private void checkObjectType( LanguageType lt, String simpleType, String fullType) {
		assertNotNull(lt);
		assertFalse ( lt.isPrimitiveType() ) ;
		assertEquals(simpleType, lt.getSimpleType() );
		assertEquals(fullType,   lt.getFullType() );
		assertEquals(simpleType, lt.getWrapperType() );
	}
	
	@Test
	public void testString() {
		System.out.println("--- ");
		
		checkPrimitiveType( getType(NeutralType.STRING, NONE ),            "string", "System.String");
		checkPrimitiveType( getType(NeutralType.STRING, NOT_NULL ),        "string", "System.String");
		checkPrimitiveType( getType(NeutralType.STRING, PRIMITIVE_TYPE ),  "string", "System.String");
		checkPrimitiveType( getType(NeutralType.STRING, UNSIGNED_TYPE ),   "string", "System.String");
		checkPrimitiveType( getType(NeutralType.STRING, PRIMITIVE_TYPE + UNSIGNED_TYPE ), "string", "System.String");
//		checkPrimitiveType( getType(NeutralType.STRING, SQL_TYPE),         "string", "System.String" );
		
		checkObjectType( getType(NeutralType.STRING, OBJECT_TYPE),            "String", "System.String" );
//		checkObjectType( getType(NeutralType.STRING, OBJECT_TYPE + SQL_TYPE), "String", "System.String" );
	}

	@Test
	public void testBoolean() {
		System.out.println("--- ");
				
		checkPrimitiveType( getType( NeutralType.BOOLEAN, NONE ),                  "bool", "System.Boolean" );
		checkPrimitiveType( getType( NeutralType.BOOLEAN, NOT_NULL ),              "bool", "System.Boolean");
		checkPrimitiveType( getType( NeutralType.BOOLEAN, PRIMITIVE_TYPE ),        "bool", "System.Boolean");
		checkPrimitiveType( getType( NeutralType.BOOLEAN, UNSIGNED_TYPE ),         "bool", "System.Boolean");