#!/usr/bin/perl
{
my
$tr
= SQL::Translator->new;
my
$file
=
"$Bin/data/access/gdpdm.ddl"
;
open
FH,
"<$file"
or
die
"Can't read '$file': $!\n"
;
local
$/;
my
$data
= <FH>;
close
FH;
my
$val
= parse(
$tr
,
$data
);
ok(
$val
,
'Parsed OK'
);
my
$schema
=
$tr
->schema;
is(
$schema
->is_valid, 1,
'Schema is valid'
);
my
@tables
=
$schema
->get_tables;
is(
scalar
@tables
, 24,
'Right number of tables (24)'
);
my
@tblnames
=
map
{
$_
->name }
@tables
;
is_deeply(
\
@tblnames
,
[
qw/div_aa_annotation div_allele div_allele_assay div_annotation_type div_exp_entry div_experiment div_generation div_locality div_locus div_marker div_obs_unit div_obs_unit_sample div_passport div_poly_type div_statistic_type div_stock div_stock_parent div_trait div_trait_uom div_treatment div_treatment_uom div_unit_of_measure qtl_trait_ontology qtl_treatment_ontology/
],
"tables"
);
table_ok(
$schema
->get_table(
"div_aa_annotation"
),
{
name
=>
"div_aa_annotation"
,
fields
=> [
{
name
=>
"div_aa_annotation_id"
,
data_type
=>
"Long Integer"
,
size
=> 4,
},
{
name
=>
"div_annotation_type_id"
,
data_type
=>
"Long Integer"
,
size
=> 4,
},
{
name
=>
"div_allele_assay_id"
,
data_type
=>
"Long Integer"
,
size
=> 4,
},
{
name
=>
"annotation_value"
,
data_type
=>
"Text"
,
size
=> 50,
},
],
}
);
table_ok(
$schema
->get_table(
"div_allele"
),
{
name
=>
"div_allele"
,
fields
=> [
{
name
=>
"div_allele_id"
,
data_type
=>
"Long Integer"
,
size
=> 4,
},
{
name
=>
"div_obs_unit_sample_id"
,
data_type
=>
"Long Integer"
,
size
=> 4,
},
{
name
=>
"div_allele_assay_id"
,
data_type
=>
"Long Integer"
,
size
=> 4,
},
{
name
=>
"allele_num"
,
data_type
=>
"Long Integer"
,
size
=> 4,
},
{
name
=>
"quality"
,
data_type
=>
"Long Integer"
,
size
=> 4,
},
{
name
=>
"value"
,
data_type
=>
"Text"
,
size
=> 50,
},
],
}
);
}