code: def getElecType(self): 
          
  
          tiesPresent = False
          incompletePresent = False
  
          # Go through the list of Preferences and see if any contain a tie or are incomplete.
          for preference in self.preferences:
              if preference.containsTie() == True:
                  tiesPresent = True
                  break
              if preference.isFullPreferenceOrder(self.candMap.keys()) == False:
                  incompletePresent = True
                  break
  
          if tiesPresent == False and incompletePresent == False:
              elecType = "soc"
          elif tiesPresent == False and incompletePresent == True:
              elecType = "soi"
          elif tiesPresent == True and incompletePresent == False:
              elecType = "toc"
          elif tiesPresent == True and incompletePresent == True:
              elecType = "toi"
          return elecType
docs: Determines whether the list of Preference objects represents complete strict orderings over
          the candidates (soc), incomplete strict orderings (soi), complete orderings with ties (toc), 
          or incomplete orderings with ties (toi). WARNING: elections that do not fall under the 
          above four categories may be falsely identified.