Coverage for tests/test_naming.py : 36%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# # LSST Data Management System # # This product includes software developed by the # LSST Project (http://www.lsst.org/). # # See COPYRIGHT file at the top of the source tree. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the LSST License Statement and # the GNU General Public License along with this program. If not, # see <https://www.lsstcorp.org/LegalNotices/>. #
"""Tests for Name constructor patterns."""
"""Creating a fully-qualified metric name.""" ref_name = Name(package='validate_drp', metric='PA1')
self.assertEqual( ref_name, Name(metric='validate_drp.PA1') )
# Use a Name to specifify metric field self.assertEqual( ref_name, Name(metric=Name(package='validate_drp', metric='PA1')) )
self.assertEqual( ref_name, Name(metric='validate_drp.PA1', package='validate_drp') )
self.assertEqual( ref_name, Name('validate_drp.PA1') )
self.assertEqual( ref_name, Name('validate_drp.PA1', metric='PA1') )
with self.assertRaises(TypeError): Name(metric='validate_drp.PA1', package='validate_base')
"""Creating a metric name.""" # Using a Name as an argument self.assertEqual( Name(metric='PA1'), Name(metric=Name(metric='PA1')) )
# Using the wrong type of name with self.assertRaises(TypeError): Name(metric=Name(spec='design_gri'))
"""Creating fully-qualified specification name.""" ref_name = Name(package='validate_drp', metric='PA1', spec='design_gri')
self.assertEqual( ref_name, Name('validate_drp.PA1.design_gri') )
# using a Name self.assertEqual( ref_name, Name(ref_name) )
self.assertEqual( ref_name, Name('validate_drp.PA1.design_gri', metric='PA1', spec='design_gri') )
"""Creating a relative specification name.""" ref_name = Name(metric='PA1', spec='design_gri')
self.assertEqual( ref_name, Name(spec='PA1.design_gri') )
# Use a Name self.assertEqual( ref_name, Name(spec=Name(metric='PA1', spec='design_gri')) )
self.assertEqual( ref_name, Name(metric='PA1', spec='PA1.design_gri') )
with self.assertRaises(TypeError): Name(metric='PA2', spec='PA1.design_gri')
"""Creating a bare specification name.""" ref_name = Name(spec='design_gri')
# Ensure that Name can be used in addition to a string self.assertEqual( ref_name, Name(spec=Name(spec='design_gri')) )
# Using the wrong type of Name with self.assertRaises(TypeError): Name(spec=Name('validate_drp.PA1'))
"""Creating a package name.""" # Ensure that Name can be used in addition to a string self.assertEqual( Name('validate_drp'), Name(package=Name(package='validate_drp')) )
"""Test cases for name equality/comparison testing."""
self.validate_drp_PA1 = Name('validate_drp.PA1') self.validate_drp_PA1v2 = Name('validate_drp.PA1') self.validate_drp_PA2 = Name('validate_drp.PA2')
self.a_a_a = Name('a.a.a') self.a_b_a = Name('a.b.a') self.a_a_b = Name('a.a.b') self.b_a_a = Name('b.a.a') self.b_b_a = Name('b.b.a') self.b_b_b = Name('b.b.b')
self.assertTrue( self.validate_drp_PA1 == self.validate_drp_PA1v2 ) self.assertFalse( self.validate_drp_PA1 == self.validate_drp_PA2 )
self.assertFalse( self.validate_drp_PA1 != self.validate_drp_PA1v2 ) self.assertTrue( self.validate_drp_PA1 != self.validate_drp_PA2 )
self.assertTrue(self.a_a_a < self.b_a_a) self.assertTrue(self.a_a_a < self.b_b_a) self.assertTrue(self.a_a_a < self.b_b_b)
self.assertFalse(self.b_a_a < self.a_a_a) self.assertFalse(self.b_b_a < self.a_a_a) self.assertFalse(self.b_b_b < self.a_a_a)
self.assertTrue(self.a_a_a < self.a_b_a) self.assertTrue(self.b_a_a < self.b_b_a) self.assertTrue(self.b_b_a < self.b_b_b)
self.assertFalse(self.a_b_a < self.a_a_a) self.assertFalse(self.b_b_a < self.b_a_a) self.assertFalse(self.b_b_b < self.b_b_a)
self.assertFalse(self.a_a_a < self.a_a_a)
self.assertFalse(self.a_a_a > self.b_a_a) self.assertFalse(self.a_a_a > self.b_b_a) self.assertFalse(self.a_a_a > self.b_b_b)
self.assertTrue(self.b_a_a > self.a_a_a) self.assertTrue(self.b_b_a > self.a_a_a) self.assertTrue(self.b_b_b > self.a_a_a)
self.assertFalse(self.a_a_a > self.a_b_a) self.assertFalse(self.b_a_a > self.b_b_a) self.assertFalse(self.b_b_a > self.b_b_b)
self.assertTrue(self.a_b_a > self.a_a_a) self.assertTrue(self.b_b_a > self.b_a_a) self.assertTrue(self.b_b_b > self.b_b_a)
self.assertFalse(self.a_a_a > self.a_a_a)
self.assertTrue(self.a_a_a <= self.b_a_a) self.assertTrue(self.a_a_a <= self.b_b_a) self.assertTrue(self.a_a_a <= self.b_b_b)
self.assertFalse(self.b_a_a <= self.a_a_a) self.assertFalse(self.b_b_a <= self.a_a_a) self.assertFalse(self.b_b_b <= self.a_a_a)
self.assertTrue(self.a_a_a <= self.a_b_a) self.assertTrue(self.b_a_a <= self.b_b_a) self.assertTrue(self.b_b_a <= self.b_b_b)
self.assertFalse(self.a_b_a <= self.a_a_a) self.assertFalse(self.b_b_a <= self.b_a_a) self.assertFalse(self.b_b_b <= self.b_b_a)
self.assertTrue(self.a_a_a <= self.a_a_a)
self.assertFalse(self.a_a_a >= self.b_a_a) self.assertFalse(self.a_a_a >= self.b_b_a) self.assertFalse(self.a_a_a >= self.b_b_b)
self.assertTrue(self.b_a_a >= self.a_a_a) self.assertTrue(self.b_b_a >= self.a_a_a) self.assertTrue(self.b_b_b >= self.a_a_a)
self.assertFalse(self.a_a_a >= self.a_b_a) self.assertFalse(self.b_a_a >= self.b_b_a) self.assertFalse(self.b_b_a >= self.b_b_b)
self.assertTrue(self.a_b_a >= self.a_a_a) self.assertTrue(self.b_b_a >= self.b_a_a) self.assertTrue(self.b_b_b >= self.b_b_a)
self.assertTrue(self.a_a_a >= self.a_a_a)
alist = [self.b_a_a, self.a_a_a, self.a_b_a] alist.sort() self.assertIs(alist[0], self.a_a_a) self.assertIs(alist[1], self.a_b_a) self.assertIs(alist[2], self.b_a_a)
"""Simple fully-qualified metric name."""
self.name = Name(package='validate_drp', metric='PA1')
self.assertEqual(self.name.package, 'validate_drp')
self.assertEqual(self.name.metric, 'PA1')
self.assertIsNone(self.name.spec)
self.assertEqual( self.name.fqn, 'validate_drp.PA1')
with self.assertRaises(AttributeError): self.name.relative_name
self.assertEqual( repr(self.name), "Name('validate_drp', 'PA1')")
self.assertEqual( str(self.name), 'validate_drp.PA1' )
self.assertTrue( self.name == Name(package='validate_drp', metric='PA1')) self.assertFalse( self.name == Name(package='validate_drp', metric='PA1', spec='design')) self.assertFalse( self.name == Name(package='validate_base', metric='PA1'))
self.assertEqual( hash(self.name), hash(Name('validate_drp.PA1')) )
self.assertTrue( Name('validate_drp.PA1.design_gri') in self.name ) self.assertFalse( Name('validate_drp.PA2.design_gri') in self.name ) self.assertFalse( Name('validate_drp.PA2') in self.name ) self.assertFalse( Name('validate_drp') in self.name )
self.assertTrue(self.name.has_package)
self.assertTrue(self.name.has_metric)
self.assertFalse(self.name.has_spec)
self.assertFalse(self.name.has_relative)
self.assertFalse(self.name.is_package)
self.assertTrue(self.name.is_metric)
self.assertFalse(self.name.is_spec)
self.assertTrue(self.name.is_fq)
self.assertFalse(self.name.is_relative)
"""Metric name (not fully qualified)."""
self.name = Name(metric='PA1')
self.assertIsNone(self.name.package)
self.assertEqual(self.name.metric, 'PA1')
self.assertIsNone(self.name.spec)
with self.assertRaises(AttributeError): self.name.fqn,
with self.assertRaises(AttributeError): self.name.relative_name
self.assertEqual( repr(self.name), "Name(metric='PA1')")
self.assertEqual( str(self.name), 'PA1' )
self.assertTrue( self.name == Name(metric='PA1')) self.assertFalse( self.name == Name(package='validate_drp', metric='PA2')) self.assertFalse( self.name == Name(metric='PA2'))
self.assertEqual( hash(self.name), hash(Name(metric='PA1')) ) self.assertNotEqual( hash(self.name), hash(Name(package='vaidate_drp', metric='PA1')) )
self.assertTrue( Name(spec='PA1.design_gri') in self.name ) self.assertFalse( Name('validate_drp.PA1.design_gri') in self.name ) self.assertFalse( Name('validate_drp.PA2.design_gri') in self.name ) self.assertFalse( Name('validate_drp.PA2') in self.name ) self.assertFalse( Name('validate_drp') in self.name )
self.assertFalse(self.name.has_package)
self.assertTrue(self.name.has_metric)
self.assertFalse(self.name.has_spec)
self.assertFalse(self.name.has_relative)
self.assertFalse(self.name.is_package)
self.assertTrue(self.name.is_metric)
self.assertFalse(self.name.is_spec)
self.assertFalse(self.name.is_fq)
self.assertFalse(self.name.is_relative)
"""Simple fully-qualified specification name."""
self.name = Name(package='validate_drp', metric='PA1', spec='design_gri')
self.assertEqual(self.name.package, 'validate_drp')
self.assertEqual(self.name.metric, 'PA1')
self.assertEqual(self.name.spec, 'design_gri')
with self.assertRaises(TypeError): Name('validate_drp.PA1.design_gri', spec='minimum')
with self.assertRaises(TypeError): Name('validate_drp.PA1.design_gri', metric='PA2')
# Can't create a specification with a metric gap with self.assertRaises(TypeError): Name(package='validate_drp', spec='design')
self.assertEqual( self.name.fqn, 'validate_drp.PA1.design_gri')
self.assertEqual( self.name.relative_name, 'PA1.design_gri')
self.assertEqual( repr(self.name), "Name('validate_drp', 'PA1', 'design_gri')")
self.assertEqual( str(self.name), 'validate_drp.PA1.design_gri' )
self.assertTrue( self.name == Name(package='validate_drp', metric='PA1', spec='design_gri')) self.assertFalse( self.name == Name(package='validate_drp', metric='PA1', spec='minimum')) self.assertFalse( self.name == Name(metric='PA1', spec='design_gri')) self.assertFalse( self.name == Name(spec='design_gri'))
self.assertEqual( hash(self.name), hash(Name('validate_drp.PA1.design_gri')) ) self.assertNotEqual( hash(self.name), hash(Name('validate_drp.PA1.minimum')) ) self.assertNotEqual( hash(self.name), hash(Name(spec='PA1.design_gri')) )
self.assertTrue(self.name.has_package)
self.assertTrue(self.name.has_metric)
self.assertTrue(self.name.has_spec)
self.assertTrue(self.name.has_relative)
self.assertFalse(self.name.is_package)
self.assertFalse(self.name.is_metric)
self.assertTrue(self.name.is_spec)
self.assertTrue(self.name.is_fq)
self.assertFalse(self.name.is_relative)
"""Metric-relative specification name."""
self.name = Name(metric='PA1', spec='design_gri')
self.assertIsNone(self.name.package)
self.assertEqual(self.name.metric, 'PA1')
self.assertEqual(self.name.spec, 'design_gri')
with self.assertRaises(AttributeError): self.name.fqn
self.assertEqual( self.name.relative_name, 'PA1.design_gri')
self.assertEqual( repr(self.name), "Name(metric='PA1', spec='design_gri')")
self.assertEqual( str(self.name), 'PA1.design_gri' )
self.assertTrue( self.name == Name(metric='PA1', spec='design_gri')) self.assertFalse( self.name == Name(package='validate_drp', metric='PA1', spec='design_gri')) self.assertFalse( self.name == Name(metric='PA1', spec='minimum'))
self.assertFalse(self.name.has_package)
self.assertTrue(self.name.has_metric)
self.assertTrue(self.name.has_spec)
self.assertTrue(self.name.has_relative)
self.assertFalse(self.name.is_package)
self.assertFalse(self.name.is_metric)
self.assertTrue(self.name.is_spec)
self.assertFalse(self.name.is_fq)
self.assertTrue(self.name.is_relative)
"""A bare specification name."""
self.name = Name(spec='design_gri')
self.assertIsNone(self.name.package)
self.assertIsNone(self.name.metric)
self.assertEqual(self.name.spec, 'design_gri')
with self.assertRaises(AttributeError): self.name.fqn
with self.assertRaises(AttributeError): self.name.relative_name
self.assertEqual( repr(self.name), "Name(spec='design_gri')")
self.assertEqual( str(self.name), 'design_gri' )
self.assertTrue( self.name == Name(spec='design_gri')) self.assertFalse( self.name == Name(metric='PA1', spec='design_gri')) self.assertFalse( self.name == Name(spec='minimum'))
self.assertFalse( Name(spec='design_gri') in self.name ) self.assertFalse( Name(spec='PA1.design_gri') in self.name ) self.assertFalse( Name('validate_drp.PA1.design_gri') in self.name ) self.assertFalse( Name('validate_drp.PA1') in self.name ) self.assertFalse( Name('validate_drp') in self.name )
self.assertFalse(self.name.has_package)
self.assertFalse(self.name.has_metric)
self.assertTrue(self.name.has_spec)
self.assertFalse(self.name.has_relative)
self.assertFalse(self.name.is_package)
self.assertFalse(self.name.is_metric)
self.assertTrue(self.name.is_spec)
self.assertFalse(self.name.is_fq)
self.assertFalse(self.name.is_relative)
"""Package name."""
self.name = Name(package='validate_drp')
self.assertEqual(self.name.package, 'validate_drp')
self.assertIsNone(self.name.metric)
self.assertIsNone(self.name.spec)
self.assertEqual( self.name.fqn, 'validate_drp')
with self.assertRaises(AttributeError): self.name.relative_name
self.assertEqual( repr(self.name), "Name('validate_drp')")
self.assertEqual( str(self.name), 'validate_drp' )
self.assertTrue( self.name == Name('validate_drp') ) self.assertTrue( self.name == Name(package='validate_drp')) self.assertFalse( self.name == Name(package='validate_base')) self.assertFalse( self.name == Name(package='validate_drp', metric='PA1'))
self.assertFalse( Name(spec='PA1.design_gri') in self.name ) self.assertTrue( Name('validate_drp.PA1.design_gri') in self.name ) self.assertTrue( Name('validate_drp.PA2.design_gri') in self.name ) self.assertFalse( Name('validate_drp') in self.name )
self.assertTrue(self.name.has_package)
self.assertFalse(self.name.has_metric)
self.assertFalse(self.name.has_spec)
self.assertFalse(self.name.has_relative)
self.assertTrue(self.name.is_package)
self.assertFalse(self.name.is_metric)
self.assertFalse(self.name.is_spec)
self.assertTrue(self.name.is_fq)
self.assertFalse(self.name.is_relative)
unittest.main() |