/**
* Copyright (c) 2009--2010 Red Hat, Inc.
*
* This software is licensed to you under the GNU General Public License,
* version 2 (GPLv2). There is NO WARRANTY for this software, express or
* implied, including the implied warranties of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
* along with this software; if not, see
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
*
* Red Hat trademarks are not licensed under GPLv2. No permission is
* granted to use or replicate Red Hat trademarks that are incorporated
* in this software or its documentation.
*/
package com.redhat.rhn.domain.rhnset.test;
import com.redhat.rhn.domain.rhnset.RhnSet;
import com.redhat.rhn.domain.rhnset.RhnSetElement;
import com.redhat.rhn.domain.rhnset.RhnSetFactory;
import com.redhat.rhn.domain.rhnset.SetCleanup;
import com.redhat.rhn.testing.RhnBaseTestCase;
import java.util.Iterator;
import java.util.Set;
/**
* RhnSetFactoryTest
* @version $Rev$
*/
public class RhnSetFactoryTest extends RhnBaseTestCase {
public void testConstructor() {
Long id = new Long(10);
RhnSet set = RhnSetFactory.createRhnSet(id, null, SetCleanup.NOOP);
assertNotNull(set);
assertEquals(id, set.getUserId());
Set elements = set.getElements();
assertNotNull(elements);
assertEquals(0, elements.size());
assertNull(set.getLabel());
}
public void testBeanProperties() {
Long num = new Long(10);
RhnSet set = RhnSetFactory.createRhnSet(num, null, SetCleanup.NOOP);
assertNotNull(set);
assertEquals(num, set.getUserId());
set.addElement(num, null);
set.addElement(num, num);
set.addElement(num, num, null);
set.addElement(num, num, num);
Set elements = set.getElements();
assertNotNull(elements);
assertEquals(set.size(), elements.size());
assertEquals(3, set.size());
int i = 0;
for (Iterator itr = elements.iterator(); itr.hasNext();) {
RhnSetElement element = (RhnSetElement) itr.next();
if (element.getElementTwo() != null && element.getElementThree() != null) {
assertEquals(num, element.getElement());
assertEquals(num, element.getElementTwo());
assertEquals(num, element.getElementThree());
}
else if (element.getElementTwo() != null && element.getElementThree() == null) {
assertEquals(num, element.getElement());
assertEquals(num, element.getElementTwo());
assertNull(element.getElementThree());
}
else if (element.getElementTwo() == null && element.getElementThree() != null) {
assertEquals(num, element.getElement());
assertNull(element.getElementTwo());
assertEquals(num, element.getElementThree());
}
else {
assertEquals(num, element.getElement());
assertNull(element.getElementTwo());
assertNull(element.getElementThree());
}
i++;
}
assertEquals(3, i);
set.setLabel("label");
assertEquals("label", set.getLabel());
}
}