contains

Usage    - $set->contains()
Returns  - true if this set contains the given element
Args     - the element (OBO::Core::IDspace) to be checked
Function - checks if this set constains the given element

equals

Usage    - $set->equals()
Returns  - true or false
Args     - the set (OBO::Util::IDspaceSet) to compare with
Function - tells whether this set is equal to the given one

remove

Usage    - $set->remove($element)
Returns  - the removed element
Args     - the element (OBO::Core::IDspace) to be removed
Function - removes an element from this set

NAME

OBO::Util::IDspaceSet - An implementation of a set of IDspace's.

SYNOPSIS

use OBO::Core::IDspace; use OBO::Util::IDspaceSet;

# new set my $my_set = OBO::Util::IDspaceSet->new(); $my_set->is_empty(); # should be true

# three new synonyms my $std1 = OBO::Core::IDspace->new(); my $std2 = OBO::Core::IDspace->new(); my $std3 = OBO::Core::IDspace->new();

# filling them... $std1->as_string("GO", "urn:lsid:bioontology.org:GO:", "gene ontology terms"); $std2->as_string("XO", "urn:lsid:bioontology.org:XO:", "x ontology terms"); $std3->as_string("YO", "urn:lsid:bioontology.org:YO:", "y ontology terms");

# tests with empty set $my_set->remove($std1); $my_set->size(); # should be 0 !$my_set->contains($std1)); # should be true

$my_set->add($std1); $my_set->contains($std1); # should be true $my_set->remove($std1); $my_set->size(); # should be 0 !$my_set->contains($std1); # should be true

# add's $my_set->add($std1); $my_set->contains($std1); # should be true $my_set->add($std2); $my_set->contains($std2); # should be true $my_set->add($std3); $my_set->contains($std3); # should be true

my $std4 = OBO::Core::IDspace->new(); my $std5 = OBO::Core::IDspace->new(); my $std6 = OBO::Core::IDspace->new();

# filling them... $std4->as_string("ZO", "urn:lsid:bioontology.org:ZO:", "z ontology terms"); $std5->as_string("AO", "urn:lsid:bioontology.org:AO:", "a ontology terms"); $std6->as_string("GO", "urn:lsid:bioontology.org:GO:", "gene ontology terms"); # repeated !!!

$my_set->add_all($std4, $std5); my $false = $my_set->add($std6); # $false should be 0 $my_set->contains($std4) && $my_set->contains($std5) && $my_set->contains($std6); # should be true

$my_set->add_all($std4, $std5, $std6); $my_set->size(); # should be 5

# remove from my_set $my_set->remove($std4); $my_set->size(); # should be 4 !$my_set->contains($std4); # should be true

my $std7 = $std4; my $std8 = $std5; my $std9 = $std6;

# a second set my $my_set2 = OBO::Util::IDspaceSet->new();

$my_set2->is_empty(); # should be true !$my_set->equals($my_set2); # should be true

my $add_all_check = $my_set->add_all($std4, $std5, $std6); $add_all_check = $my_set2->add_all($std7, $std8, $std9, $std1, $std2, $std3); !$my_set2->is_empty(); # should be true $my_set->contains($std7) && $my_set->contains($std8) && $my_set->contains($std9); # should be true $my_set->equals($my_set2); # should be true

$my_set2->size(); # should be 5

$my_set2->clear(); $my_set2->is_empty(); $my_set2->size(); # should be 0

my $stdA = OBO::Core::IDspace->new(); my $stdB = OBO::Core::IDspace->new();

$stdA->as_string("OO", "urn:lsid:bioontology.org:OO:", "O ontology terms"); $stdB->as_string("OO", "urn:lsid:bioontology.org:OO:", "O ontology terms");

$my_set2->clear(); $my_set2->add_all($stdA, $stdB); $my_set2->size(); # should be 1 $my_set2->contains($stdB); $my_set2->contains($stdA);

DESCRIPTION

A set (OBO::Util::Set) of IDspace (OBO::Core::IDspace) elements.

AUTHOR

Erick Antezana, <erick.antezana -@- gmail.com>

COPYRIGHT AND LICENSE

Copyright (C) 2006-2011 by Erick Antezana

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.