From 8bc569317f199c46e56b5be1ba4f49a94c9d724a Mon Sep 17 00:00:00 2001 From: Graham McVicker <mcvicker@sanger.ac.uk> Date: Tue, 18 May 2004 16:41:41 +0000 Subject: [PATCH] added tests for new SeqEdit class --- modules/t/seqEdit.t | 91 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 modules/t/seqEdit.t diff --git a/modules/t/seqEdit.t b/modules/t/seqEdit.t new file mode 100644 index 0000000000..2315ba1420 --- /dev/null +++ b/modules/t/seqEdit.t @@ -0,0 +1,91 @@ +use lib 't'; + +BEGIN { $| = 1; + use Test; + plan tests => 27; +} + +use Bio::EnsEMBL::SeqEdit; +use Bio::EnsEMBL::Attribute; +use TestUtils qw(debug test_getter_setter); + +my $code = 'rna edit'; +my $desc = 'Post transcriptional RNA edit'; +my $value = '2 3 ACTG'; +my $name = 'RNA Edit'; + +my $a = Bio::EnsEMBL::Attribute->new + (-CODE => $code, + -DESCRIPTION => $desc, + -VALUE => $value, + -NAME => $name); + +my $se = Bio::EnsEMBL::SeqEdit->new(-ATTRIB => $a); + +ok(ref($se) && $se->isa('Bio::EnsEMBL::SeqEdit')); + +ok($se->name() eq $name); +ok($se->description() eq $desc); +ok($se->code() eq $code); + +ok($se->alt_seq() eq 'ACTG'); +ok($se->start() == 2); +ok($se->end() == 3); + +ok(test_getter_setter($se, 'start', 10)); +ok(test_getter_setter($se, 'end', 12)); +ok(test_getter_setter($se, 'alt_seq', 'GGAAA')); +ok(test_getter_setter($se, 'name', 'test name')); +ok(test_getter_setter($se, 'description', 'test desc')); +ok(test_getter_setter($se, 'code', 'test cpde')); + +ok($se->length_diff == 2); + +my $seq = 'CCCC'; +$se->apply_edit(\$seq); +ok($seq eq 'CACTGC'); + +# test insert before first base +$seq = 'ACTG'; +$se->alt_seq('CC'); +$se->start(1); +$se->end(0); +ok($se->apply_edit(\$seq)); +ok($seq eq 'CCACTG'); + +ok($se->length_diff() == 2); + +# test insert after last base +$seq = 'ACTG'; +$se->alt_seq('CC'); +$se->start(5); +$se->end(4); +$se->apply_edit(\$seq); +ok($seq eq 'ACTGCC'); + +ok($se->length_diff() == 2); + +# test deletion of entire sequence +$seq = 'ACTG'; +$se->alt_seq(''); +$se->start(1); +$se->end(4); +$se->apply_edit(\$seq); +ok($seq eq ''); + +ok($se->length_diff() == -4); + +# test replacement of some sequence +$seq = 'ACTG'; +$se->alt_seq('TC'); +$se->start(2); +$se->end(3); +$se->apply_edit(\$seq); +ok($seq eq 'ATCG'); + +# test conversion to attribute +$a = $se->get_Attribute(); +ok($a->name() eq $se->name()); +ok($a->description() eq $se->description()); +ok($a->code() eq $se->code()); +ok($a->value eq '2 3 TC'); -- GitLab