ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/Configuration/test/test_ProjectSearcher.pm
Revision: 1.1
Committed: Wed Mar 29 09:44:45 2000 UTC (25 years, 1 month ago) by williamc
Content type: text/plain
Branch: MAIN
CVS Tags: ProtoEnd
Log Message:
upload for lapop

File Contents

# User Rev Content
1 williamc 1.1 #
2     # ProjectSearcher test
3     #
4    
5     package Configuration::test::test_ProjectSearcher;
6     use Configuration::ProjectSearcher;
7     use Configuration::test::DummyConfigArea;
8     use Configuration::test::DummyConfigItem;
9     require 5.001;
10    
11     @ISA = ("Utilities::TestClass"); #methods both from the test class
12    
13     sub init {
14     my $self=shift;
15     my $centraldb=ActiveDoc::ActiveConfig->
16     new($self->temparea()."/".$self->newfilename());
17     my $userdb=ActiveDoc::ActiveConfig->
18     new($self->temparea()."/".$self->newfilename());
19     $self->{config}=Configuration::ConfigureStore->new();
20     $self->{config}->db("central",$centraldb);
21     $self->{config}->db("user",$userdb);
22     $area1=Configuration::test::DummyConfigArea->new($self->temparea()."/".
23     $self->newfilename());
24     $area1->name("testarea1");
25     $area1->version("version1");
26     $area2=Configuration::test::DummyConfigArea->new($self->temparea()."/".
27     $self->newfilename());
28     $area2->name("testarea1");
29     $area2->version("version1");
30     use Configuration::test::ConfigItemTest;
31     $item1=Configuration::test::DummyConfigItem->new();
32     $item2=Configuration::test::DummyConfigItem->new();
33     $item1->name("test");
34     $item1->version("V1");
35     $item2->name("test");
36     $item2->version("V2");
37     $area1->storeconfigobject($item1);
38     $area2->storeconfigobject($item2);
39    
40     # store the areas in our secondary database hierarchy
41     $centraldb->store($area1,"Area1","version1");
42     $userdb->store($area2,"Area1","version2");
43    
44     # Cheat a liitle - use the ScramSearcher as an example Searcher object
45     $self->{Searcher}=Scram::ScramSearcher->new();
46     $self->{Searcher}->config($self->{config});
47     }
48    
49     sub test {
50     my $self=shift;
51     $self->newtest("Set Up");
52     $self->newobject();
53     $self->newtest("Set Up Searcher");
54     $it=$self->testinterface("newiterator");
55     $it->iterator($self->{Searcher}->newiterator());
56     $it->project("Area1");
57     $it->keys("test");
58     $self->newtest("Start Iterator");
59     $self->_testiterator($it);
60     }
61    
62     sub _testiterator {
63     my $self=shift;
64     my $it=shift;
65    
66    
67     my $teststring="test";
68     my (@objs,$ts);
69     my $num=0;
70     while ( ! $it->last() ) {
71     $num++;
72     @objs=$it->next();
73     if ( $#objs != 0 ) {
74     $self->testfail("Wrong number of objects returned ".($#objs+1))
75     }
76     elsif ( ($ts=$objs[0]->name()) ne $teststring ) {
77     $self->testfail("Wrong Object Data Returned got $ts, expecting $teststring");
78     }
79     else {
80     $self->testpass("Correct Object Data Returned");
81     }
82     }
83     $self->testfail("$num objects returned in total - expecting 2") , if ( $num != 2);
84     }