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

# Content
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 }