예제 #1
0
    def test_elementPow_ignore_invalid(self):
        """ elementPow correctly detects and ignores invalid data"""
        for m in self.matrices:

            # Test square all elements
            # explicit tests
            n = deepcopy(m)
            dm = DistanceMatrix(data=n, RowOrder=list(n.keys()),ColOrder=list(n.keys()),\
                    Pad=False)
            dm['A']['A'] = 'p'
            dm.elementPow(2)
            self.assertEqual(dm.Power, 2.)
            self.assertEqual(dm['A']['A'], 'p')

            n = deepcopy(m)
            dm = DistanceMatrix(data=n, RowOrder=list(n.keys()),ColOrder=list(n.keys()),\
                    Pad=False)
            dm['A']['A'] = None
            dm.elementPow(2)
            self.assertEqual(dm.Power, 2.)
            self.assertEqual(dm['A']['A'], None)
예제 #2
0
    def test_elementPow_ignore_invalid(self):
        """ elementPow correctly detects and ignores invalid data"""
        for m in self.matrices:

            # Test square all elements
            # explicit tests
            n = deepcopy(m)
            dm = DistanceMatrix(data=n, RowOrder=n.keys(),ColOrder=n.keys(),\
                    Pad=False)
            dm['A']['A'] = 'p'
            dm.elementPow(2)
            self.assertEqual(dm.Power, 2.)
            self.assertEqual(dm['A']['A'],'p')

            n = deepcopy(m)
            dm = DistanceMatrix(data=n, RowOrder=n.keys(),ColOrder=n.keys(),\
                    Pad=False)
            dm['A']['A'] = None
            dm.elementPow(2)
            self.assertEqual(dm.Power, 2.)
            self.assertEqual(dm['A']['A'],None)
예제 #3
0
    def test_elementPow_valid(self):
        """ elementPow correctly scales all elements and updates self.Power"""
        for m in self.matrices:

            # Test square all elements
            # explicit tests
            n = deepcopy(m)
            dm = DistanceMatrix(data=n, RowOrder=list(n.keys()),ColOrder=list(n.keys()),\
                    Pad=False)
            dm.elementPow(2)
            self.assertEqual(dm.Power, 2)
            self.assertEqual(dm['A']['A'], m['A']['A']**2)
            self.assertEqual(dm['B']['A'], m['B']['A']**2)
            self.assertEqual(dm['B']['C'], m['B']['C']**2)

            # Test cube square root of all elements
            # explicit tests
            n = deepcopy(m)
            dm = DistanceMatrix(data=n, RowOrder=list(n.keys()),ColOrder=list(n.keys()),\
                    Pad=False)
            dm.elementPow(3)
            dm.elementPow(1. / 2.)
            self.assertEqual(dm.Power, 3. / 2.)
            self.assertEqual(dm['A']['A'], m['A']['A']**(3. / 2.))
            self.assertEqual(dm['B']['A'], m['B']['A']**(3. / 2.))
            self.assertEqual(dm['B']['C'], m['B']['C']**(3. / 2.))
예제 #4
0
    def test_elementPow_valid(self):
        """ elementPow correctly scales all elements and updates self.Power"""
        for m in self.matrices:

            # Test square all elements
            # explicit tests
            n = deepcopy(m)
            dm = DistanceMatrix(data=n, RowOrder=n.keys(),ColOrder=n.keys(),\
                    Pad=False)
            dm.elementPow(2)
            self.assertEqual(dm.Power, 2)
            self.assertEqual(dm['A']['A'],m['A']['A']**2)
            self.assertEqual(dm['B']['A'],m['B']['A']**2)
            self.assertEqual(dm['B']['C'],m['B']['C']**2)

            # Test cube square root of all elements
            # explicit tests
            n = deepcopy(m)
            dm = DistanceMatrix(data=n, RowOrder=n.keys(),ColOrder=n.keys(),\
                    Pad=False)
            dm.elementPow(3)
            dm.elementPow(1./2.)
            self.assertEqual(dm.Power, 3./2.)
            self.assertEqual(dm['A']['A'],m['A']['A']**(3./2.))
            self.assertEqual(dm['B']['A'],m['B']['A']**(3./2.))
            self.assertEqual(dm['B']['C'],m['B']['C']**(3./2.))