Example #1
0
class Requirements(unittest.TestCase):
    nameToNumberReqs = ( ("A", 0),
                         ("Z", 25),
                         ("AA", 26),
                         ("ZZZZ", 475253) )
    numberToColumnReqs = ( (0, "A"),
                           (25, "Z"),
                           (26, "AA"),
                           (475253, "ZZZZ") )

    tester = Task1.ColumnNameConversionUtility()
    
    def testNameToNumber(self):
        """columnNameToColumnNumber should give expected results"""
        for columnName, number in self.nameToNumberReqs:
            result = self.tester.columnNameToColumnNumber(columnName)
            self.assertEqual(number, result)

    def testNumberToColumnReqs(self):
        """columnNumberToColumnName should give expected results which are the inverse of columnNameToColumnNumber"""
        for columnNumber, name in self.numberToColumnReqs:
            result = self.tester.columnNumberToColumnName(columnNumber)
            self.assertEqual(name, result)
Example #2
0
 def testToColumnNumberCase(self):
     """output must be upper case strings"""
     for integer in range(0, 475254):
         name = Task1.ColumnNameConversionUtility().columnNumberToColumnName(integer)
         self.assertEquals(name, name.upper())
Example #3
0
 def testToColumnNameCase(self):
     """column names should be upper case"""
     for integer in range(0, 475254):
         name = Task1.ColumnNameConversionUtility().columnNumberToColumnName(integer)
         Task1.ColumnNameConversionUtility().columnNameToColumnNumber(name.upper())
         self.assertRaises(Task1.InvalidColumnName, Task1.ColumnNameConversionUtility().columnNameToColumnNumber, name.lower())
Example #4
0
 def testSanity(self):
     """columnNameToColumnNumber(columnNumberToColumnName(n)) == n for all n between 0 and 475253, or A and ZZZZ"""
     for integer in range(0, 475254):
         name = Task1.ColumnNameConversionUtility().columnNumberToColumnName(integer)
         result = Task1.ColumnNameConversionUtility().columnNameToColumnNumber(name)
         self.assertEqual(integer, result)
Example #5
0
 def testInputBounds(self):
     """only integer numbers in the range 0 ... 475253 are accepted"""
     self.assertRaises(Task1.InvalidColumnNumber, Task1.ColumnNameConversionUtility().columnNumberToColumnName, -1)
     self.assertRaises(Task1.InvalidColumnNumber, Task1.ColumnNameConversionUtility().columnNumberToColumnName, 475254)
Example #6
0
 def testNonStringColumnName(self):
     """only strings are accepted"""
     self.assertRaises(Task1.InvalidColumnName, Task1.ColumnNameConversionUtility().columnNameToColumnNumber, 5)
Example #7
0
 def testTooManyCharacters(self):
     """only strings in the range "A" to "ZZZZ" are accepted"""
     self.assertRaises(Task1.InvalidColumnName, Task1.ColumnNameConversionUtility().columnNameToColumnNumber, "AAAAA")
Example #8
0
 def testLowerCase(self):
     """column names should be upper case"""
     self.assertRaises(Task1.InvalidColumnName, Task1.ColumnNameConversionUtility().columnNameToColumnNumber, "a")