def test_iterable_validation_raises_exception_if_iterable_is_none(self):
		iterable = None
		exc = None

		try:
			validate_iterable(iterable)
		except Exception as err:
			exc = err

		self.assertIsNotNone(exc)
		self.assertEqual(str(exc), 'Argument "iterable" cannot be None.')	
	def test_iterable_validation_raises_exception_if_elements_of_different_type(self):
		iterable = [{'key' : 5}, 1, 3, 2]
		exc = None

		try:
			validate_iterable(iterable)
		except Exception as err:
			exc = err

		self.assertIsNotNone(exc)
		self.assertEqual(str(exc), 'Cannot compare elements of different type.')
	def test_iterable_validation_raises_exception_if_iterable_is_not_of_tuple_or_list_type(self):
		iterable = {'key1': 5, 'key2': 7, 'key3': 2}
		exc = None

		try:
			validate_iterable(iterable)
		except Exception as err:
			exc = err

		self.assertIsNotNone(exc)
		self.assertEqual(str(exc), 'Only lists and tuples can be sorted.')	
	def test_iterable_validation_passes_with_empty_tuple(self):
		iterable = ()

		validate_iterable(iterable)
	def test_iterable_validation_passes_with_empty_list(self):
		iterable = []

		validate_iterable(iterable)
	def test_iterable_validation_passes_with_tuple(self):
		iterable = (2, 3, 5, 1, 7, 4)

		validate_iterable(iterable)
	def test_iterable_validation_passes_with_list(self):
		iterable = [2, 3, 5, 1, 7, 4]

		validate_iterable(iterable)