From 8fea99223b8a78010ed753ed622f7ed5044bc8b0 Mon Sep 17 00:00:00 2001
From: Arne Stabenau <stabenau@sanger.ac.uk>
Date: Wed, 13 Nov 2002 12:32:59 +0000
Subject: [PATCH] analysis tests with MultiTestDB

---
 modules/t/analysis.t | 52 +++++++++++++++++++++++++++++++++++---------
 1 file changed, 42 insertions(+), 10 deletions(-)

diff --git a/modules/t/analysis.t b/modules/t/analysis.t
index 21fbadef78..8aa519e297 100644
--- a/modules/t/analysis.t
+++ b/modules/t/analysis.t
@@ -2,26 +2,27 @@ use lib 't';
 
 BEGIN { $| = 1;  
 	use Test;
-	plan tests => 7;
+	plan tests => 8;
 }
 
 my $loaded = 0;
 END {print "not ok 1\n" unless $loaded;}
 
-use EnsTestDB;
-use Bio::EnsEMBL::DBLoader;
+use MultiTestDB;
+
+my $verbose = 0;
 
 $loaded = 1;
 
 ok(1);
 
-# Database will be dropped when this
-# object goes out of scope
-my $ens_test = EnsTestDB->new;
+my $multi = MultiTestDB->new();
+ok( $multi );
+$multi->hide( "core", "analysis" );
+
+my $db = $multi->get_DBAdaptor( "core" );
+ok($db);
 
-$ens_test->do_sql_file("t/minidatabase.dump");
-my $db = $ens_test->get_DBSQL_Obj;
-ok($ens_test);
 
 my $analysis_ad = $db->get_AnalysisAdaptor();
 
@@ -43,11 +44,42 @@ ok($analysis);
 $analysis_ad->store($analysis);
 
 
-ok(1);
+ok(defined $analysis->dbID() );
 
 
 my $analysis_out = $analysis_ad->fetch_by_logic_name('dummy_analysis');
 
 
 ok($analysis_out);
+
 ok($analysis_out->db eq 'dummy');
+
+ok( check_methods( $analysis_out, "db", "db_file", "id", "dbID", "compare",
+		   "logic_name", "parameters", "gff_source", "gff_feature",
+		   "module", "module_version", "program_file",
+		   "program", "db_version", "adaptor" ));
+		   
+
+$multi->restore();
+
+
+sub check_methods { 
+  my $obj = shift;
+
+  my $all_implemented = 1;
+  while( my $method = shift ) {
+    if( ! $obj->can( $method )) {
+      $all_implemented = 0;
+      debug( "Analysis doesnt implement $method" );
+    }
+  }
+  return $all_implemented;
+}
+
+
+sub debug {
+  my $txt = shift;
+  if( $verbose ) {
+    print STDERR $txt,"\n";
+  }
+}
-- 
GitLab