Source code for TASSELpy.test.net.maizegenetics.taxa.distance.DistanceMatrixTest

import unittest
import javabridge
import numpy as np
from TASSELpy.TASSELbridge import TASSELbridge
try:
    try:
        javabridge.get_env()
    except AttributeError:
        TASSELbridge.start()
    except AssertionError:
        TASSELbridge.start()
except:
    raise RuntimeError("Could not start JVM")
from TASSELpy.java.lang.Double import metaDouble
from TASSELpy.net.maizegenetics.taxa.TaxaList import TaxaList
from TASSELpy.net.maizegenetics.taxa.Taxon import Taxon
from TASSELpy.net.maizegenetics.taxa.TaxaListBuilder import TaxaListBuilder
from TASSELpy.net.maizegenetics.taxa.distance.DistanceMatrix import DistanceMatrix
from TASSELpy.utils.primativeArray import javaPrimativeArray
from TASSELpy.javaObj import javaArray

[docs]class DistanceMatrixTest(unittest.TestCase):
[docs] def test_constructor1(self): print "Testing first DistanceMatrix constructor" mat = DistanceMatrix() self.assertIsInstance(mat, DistanceMatrix) self.assertIsInstance(mat.o, javabridge.JB_Object)
[docs] def test_constructor2(self): print "Testing second DistanceMatrix constructor" primative_mat = javaPrimativeArray.make_dbl_array('double',2,2) primative_mat[0][0] = np.float64(0.) primative_mat[0][1] = np.float64(0.25) primative_mat[1][0] = np.float64(0.25) primative_mat[1][1] = np.float64(0.) list_builder = TaxaListBuilder() list_builder.add(Taxon('first')) list_builder.add(Taxon('second')) taxa_list = list_builder.build() mat = DistanceMatrix(primative_mat, taxa_list) self.assertIsInstance(mat, DistanceMatrix) self.assertIsInstance(mat.o, javabridge.JB_Object)
[docs] def test_constructor3(self): print "Testing third DistanceMatrix constructor" primative_mat = javaPrimativeArray.make_dbl_array('double',2,2) primative_mat[0][0] = np.float64(0.) primative_mat[0][1] = np.float64(0.25) primative_mat[1][0] = np.float64(0.25) primative_mat[1][1] = np.float64(0.) list_builder = TaxaListBuilder() list_builder.add(Taxon('first')) list_builder.add(Taxon('second')) taxa_list = list_builder.build() mat1 = DistanceMatrix(primative_mat, taxa_list) mat2 = DistanceMatrix(mat1) self.assertIsInstance(mat2, DistanceMatrix) self.assertNotEqual(mat1.o, mat2.o)
[docs] def test_constructor4(self): print "Testing fourth DistanceMatrix constructor" primative_mat = javaPrimativeArray.make_dbl_array('double',2,2) primative_mat[0][0] = np.float64(0.) primative_mat[0][1] = np.float64(0.25) primative_mat[1][0] = np.float64(0.25) primative_mat[1][1] = np.float64(0.) list_builder = TaxaListBuilder() list_builder.add(Taxon('first')) list_builder.add(Taxon('second')) taxa_list = list_builder.build() mat1 = DistanceMatrix(primative_mat, taxa_list) mat2 = DistanceMatrix(mat1, taxa_list) self.assertIsInstance(mat2, DistanceMatrix) self.assertNotEqual(mat1.o, mat2.o)
[docs] def test_squaredDistance(self): print "Testing squaredDistance" primative_mat = javaPrimativeArray.make_dbl_array('double',2,2) primative_mat[0][0] = np.float64(0.) primative_mat[0][1] = np.float64(0.25) primative_mat[1][0] = np.float64(0.25) primative_mat[1][1] = np.float64(0.) list_builder = TaxaListBuilder() list_builder.add(Taxon('first')) list_builder.add(Taxon('second')) taxa_list = list_builder.build() mat1 = DistanceMatrix(primative_mat, taxa_list) mat2 = DistanceMatrix(mat1) dist = mat1.squaredDistance(mat2, False) self.assertIsInstance(dist, metaDouble) self.assertEquals(dist, 0.)
[docs] def test_absoluteDistance(self): print "Testing absoluteDistance" primative_mat = javaPrimativeArray.make_dbl_array('double',2,2) primative_mat[0][0] = np.float64(0.) primative_mat[0][1] = np.float64(0.25) primative_mat[1][0] = np.float64(0.25) primative_mat[1][1] = np.float64(0.) list_builder = TaxaListBuilder() list_builder.add(Taxon('first')) list_builder.add(Taxon('second')) taxa_list = list_builder.build() mat1 = DistanceMatrix(primative_mat, taxa_list) mat2 = DistanceMatrix(mat1) dist = mat1.absoluteDistance(mat2) self.assertIsInstance(dist, metaDouble) self.assertEquals(dist, 0.)
[docs] def test_getDistances(self): print "Testing getDistances" primative_mat = javaPrimativeArray.make_dbl_array('double',2,2) primative_mat[0][0] = np.float64(0.) primative_mat[0][1] = np.float64(0.25) primative_mat[1][0] = np.float64(0.25) primative_mat[1][1] = np.float64(0.) list_builder = TaxaListBuilder() list_builder.add(Taxon('first')) list_builder.add(Taxon('second')) taxa_list = list_builder.build() mat = DistanceMatrix(primative_mat, taxa_list) dists = mat.getDistances() self.assertIsInstance(dists, javaArray.get_array_type(javaPrimativeArray.get_array_type('double'))) self.assertEqual(dists[0][1],primative_mat[0][1])
[docs] def test_getTaxon(self): print "Testing getTaxon" primative_mat = javaPrimativeArray.make_dbl_array('double',2,2) primative_mat[0][0] = np.float64(0.) primative_mat[0][1] = np.float64(0.25) primative_mat[1][0] = np.float64(0.25) primative_mat[1][1] = np.float64(0.) list_builder = TaxaListBuilder() list_builder.add(Taxon('first')) list_builder.add(Taxon('second')) taxa_list = list_builder.build() mat = DistanceMatrix(primative_mat, taxa_list) tax = mat.getTaxon(1) self.assertIsInstance(tax, Taxon) self.assertEqual(tax.toString(), "second")
[docs] def test_numberOfTaxa(self): print "Testing numberOfTaxa" primative_mat = javaPrimativeArray.make_dbl_array('double',2,2) primative_mat[0][0] = np.float64(0.) primative_mat[0][1] = np.float64(0.25) primative_mat[1][0] = np.float64(0.25) primative_mat[1][1] = np.float64(0.) list_builder = TaxaListBuilder() list_builder.add(Taxon('first')) list_builder.add(Taxon('second')) taxa_list = list_builder.build() mat = DistanceMatrix(primative_mat, taxa_list) self.assertEquals(mat.numberOfTaxa(),2)
[docs] def test_whichIdNumber(self): print "Testing whichIdNumber" primative_mat = javaPrimativeArray.make_dbl_array('double',2,2) primative_mat[0][0] = np.float64(0.) primative_mat[0][1] = np.float64(0.25) primative_mat[1][0] = np.float64(0.25) primative_mat[1][1] = np.float64(0.) list_builder = TaxaListBuilder() list_builder.add(Taxon('first')) list_builder.add(Taxon('second')) taxa_list = list_builder.build() mat = DistanceMatrix(primative_mat, taxa_list) self.assertEquals(mat.whichIdNumber('first'),0) self.assertEquals(mat.whichIdNumber(Taxon('first')),0)
[docs] def test_getClosestIndex(self): print "Testing getClosestIndex" primative_mat = javaPrimativeArray.make_dbl_array('double',2,2) primative_mat[0][0] = np.float64(0.) primative_mat[0][1] = np.float64(0.25) primative_mat[1][0] = np.float64(0.25) primative_mat[1][1] = np.float64(0.) list_builder = TaxaListBuilder() list_builder.add(Taxon('first')) list_builder.add(Taxon('second')) taxa_list = list_builder.build() mat = DistanceMatrix(primative_mat, taxa_list) self.assertEqual(mat.getClosestIndex(0,None),1)
[docs] def test_getColumnName(self): print "Testing getColumnName" primative_mat = javaPrimativeArray.make_dbl_array('double',2,2) primative_mat[0][0] = np.float64(0.) primative_mat[0][1] = np.float64(0.25) primative_mat[1][0] = np.float64(0.25) primative_mat[1][1] = np.float64(0.) list_builder = TaxaListBuilder() list_builder.add(Taxon('first')) list_builder.add(Taxon('second')) taxa_list = list_builder.build() mat = DistanceMatrix(primative_mat, taxa_list) self.assertEquals(mat.getColumnName(1),'first') self.assertEquals(mat.getColumnName(2),'second')
if __name__ == "__main__": unittest.main(exit=False) TASSELbridge.stop()