Source code for TASSELpy.test.net.maizegenetics.trait.TraitTest
import unittest
import javabridge
from TASSELpy.TASSELbridge import TASSELbridge
try:
try:
javabridge.get_env()
except AttributeError:
TASSELbridge.start()
except AssertionError:
print("AssertionError: start bridge")
TASSELbridge.start()
except:
raise RuntimeError("Could not start JVM")
from TASSELpy.java.lang.Object import Object
from TASSELpy.net.maizegenetics.trait.Trait import Trait
from TASSELpy.java.lang.String import String
from TASSELpy.java.util.Set import Set
from TASSELpy.java.util.ArrayList import ArrayList
debug = False
[docs]class TraitTest(unittest.TestCase):
""" Tests for Trait.py """
[docs] def setUp(self):
try:
self.trait = Trait("myTrait",True,"factor",None)
except:
self.fail("Constructor 1 fail on Trait")
try:
self.trait = Trait("myTrait",True,"factor")
except:
self.fail("Constructor 2 fail on Trait")
[docs] def test_getInstance(self):
if debug: print "Testing getInstance"
copy = Trait.getInstance(self.trait)
self.assertEqual(copy,self.trait)
[docs] def test_isDiscrete(self):
if debug: print "Testing isDiscrete"
self.assertTrue(self.trait.isDiscrete())
[docs] def test_setLevelLabels(self):
if debug: print "Testing gen/setLevelLabels"
arr = String.getArray(3)
arr[0] = 'one'
arr[1] = 'two'
arr[2] = 'three'
self.trait.setLevelLabels(arr)
levels = self.trait.getLevelLabels()
self.assertEqual(len(levels),3)
self.assertEqual(levels[0],'one')
self.assertEqual(levels[2],'three')
[docs] def test_getLevelLabel(self):
if debug: print "Testing getLevelLabel"
arr = String.getArray(3)
arr[0] = 'one'
arr[1] = 'two'
arr[2] = 'three'
self.trait.setLevelLabels(arr)
self.assertEqual(self.trait.getLevelLabel(1),'two')
[docs] def test_getNumberOfLevels(self):
if debug: print "Testing getNumberOfLevels"
self.assertEqual(self.trait.getNumberOfLevels(),0)
arr = String.getArray(3)
arr[0] = 'one'
arr[1] = 'two'
arr[2] = 'three'
self.trait.setLevelLabels(arr)
self.assertEqual(self.trait.getNumberOfLevels(),3)
[docs] def test_getNumberOfProperties(self):
if debug: print "Testing getNumberOfProperties"
self.assertEqual(self.trait.getNumberOfProperties(),0)
[docs] def test_setProperty(self):
if debug: print "Testing setProperty"
self.trait.setProperty("foo",String("bar"))
self.assertEqual(self.trait.getNumberOfProperties(),1)
[docs] def test_getProperties(self):
if debug: print "Testing getProperties"
self.trait.setProperty("foo",String("bar"))
prop_set = self.trait.getProperties()
self.assertIsInstance(prop_set,Set)
prop_set = [x for x in prop_set]
self.assertEqual(prop_set[0].getKey(),"foo")
self.assertIsInstance(prop_set[0].getValue(),Object)
self.assertIsInstance(prop_set[0].o,javabridge.JB_Object)
self.assertEqual(prop_set[0].getValue().toString(),"bar")
[docs] def test_getProperty(self):
if debug: print "Testing getProperty"
self.trait.setProperty("foo",String("bar"))
prop = self.trait.getProperty("foo")
self.assertIsInstance(prop, Object)
self.assertEqual(prop.toString(),"bar")
[docs] def test_getPropertyNames(self):
if debug: print "Testing getPropertyNames"
self.trait.setProperty("foo",String("bar"))
propnames = self.trait.getPropertyNames()
self.assertIsInstance(propnames,Set)
prop_names = [x for x in propnames]
self.assertIsInstance(prop_names[0],String)
self.assertEqual(prop_names[0],"foo")
[docs] def test_addFactor(self):
if debug: print "Testing addFactor"
self.trait.addFactor("Foo","Bar")
self.assertEqual(self.trait.getNumberOfFactors(),1)
[docs] def test_getFactorNames(self):
if debug: print "Testing getFactorNames"
self.trait.addFactor("Foo","Bar")
factor_names = self.trait.getFactorNames()
self.assertIsInstance(factor_names,ArrayList)
self.assertEqual(factor_names[0],"Foo")
[docs] def test_getFactorValue(self):
if debug: print "Testing getFactorValue"
self.trait.addFactor("Foo","Bar")
self.assertEqual(self.trait.getFactorValue("Foo"),"Bar")
[docs] def test_getType(self):
if debug: print "Testing getType"
self.assertEqual(self.trait.getType(),"factor")
[docs] def test_setType(self):
if debug: print "Testing setType"
self.trait.setType("covariate")
self.assertEqual(self.trait.getType(),"covariate")
[docs] def test_hasLevels(self):
if debug: print "Testing hasLevels"
self.assertFalse(self.trait.hasLevels())
if __name__ == "__main__":
debug = True
unittest.main(exit=False)
TASSELbridge.stop()