@Test public void testIsValidTableSchemaValidSchema() { final List<ColumnSchema> columns = ImmutableList.<ColumnSchema>of( ColumnSchema.builder(COLUMN_B, ColumnType.LONG).setIsAutoIncrement(true).build()); Verify.isValidTableSchema(new TableSchema(columns, ImmutableList.<IndexSchema>of())); }
@Test public void testHasAutoIncrementColumnNotAutoInc() { final List<ColumnSchema> columns = ImmutableList.<ColumnSchema>of( ColumnSchema.builder(COLUMN_B, ColumnType.LONG).setIsAutoIncrement(false).build()); final TableSchema tableSchema = new TableSchema(columns, ImmutableList.<IndexSchema>of()); Verify.hasAutoIncrementColumn(tableSchema); } }
@Test public void testHasAutoIncrementColumn() { final List<ColumnSchema> columns = ImmutableList.<ColumnSchema>of( ColumnSchema.builder(COLUMN_B, ColumnType.LONG).setIsAutoIncrement(true).build()); final TableSchema tableSchema = new TableSchema(columns, ImmutableList.<IndexSchema>of()); Verify.hasAutoIncrementColumn(tableSchema); }
@Override public ColumnSchema next() { ColumnType type = typeGen.next(); ColumnSchema.Builder builder = ColumnSchema.builder(MYSQL_NAME_GEN.next(), type); switch (type) { case STRING: case BINARY: builder.setMaxLength(lengthGen.next()); break; case LONG: case ULONG: case DOUBLE: builder.setIsAutoIncrement(RAND.nextBoolean()); break; case DECIMAL: int precision = RAND.nextInt(66); int scale = RAND.nextInt(Math.max(31, precision)); builder.setPrecision(precision).setScale(scale); break; default: break; } return builder.build(); } }
@Test public void testBuildDoubleColumnAsAutoIncrement() { new ColumnSchema.Builder(TEST_COLUMN, ColumnType.DOUBLE).setIsAutoIncrement(true).build(); }
@Test public void testBuildLongColumnAsAutoIncrement() { new ColumnSchema.Builder(TEST_COLUMN, ColumnType.LONG).setIsAutoIncrement(true).build(); }
@Test public void testBuildULongColumnAsAutoIncrement() { new ColumnSchema.Builder(TEST_COLUMN, ColumnType.ULONG).setIsAutoIncrement(true).build(); }
@Test(expected = IllegalArgumentException.class) public void testBuildDecimalColumnAsAutoIncrement() { new ColumnSchema.Builder(TEST_COLUMN, ColumnType.DECIMAL).setScale(0).setPrecision(0).setIsNullable(false) .setIsAutoIncrement(true).build(); }