def put(self, key):
		"""This method inserts the *key* into the cache.
		If the key already exists, it will update its timestamp.
		If the key does not exist in the cache, it will insert it in
		the cache while fulfilling the maximum capacity constraint.

		:param key: The element that needs to be inserted.
		:return: Nothing.
		"""
		if is_signed_32_bit_integer_format(key):
			try:
				self.__cache.pop(key)
				logging.info(str(key) + " exists in cache. Updated last used time.")
			except KeyError:
				logging.info(str(key) + " does not exist in cache.")
				if len(self.__cache) >= self.__max_capacity:
					element_removed = self.__cache.popitem(last=False)
					logging.warning("Max capacity reached. Removed " + str(element_removed[0]) + ".")
				logging.info("Inserted " + str(key) + ".")
			self.__cache[key] = time.time()
		else:
			logging.error("Cache accepts only signed 32 bit integers.")
	def test_signed_negative_32_bit_integer(self):
		self.assertTrue(is_signed_32_bit_integer_format(-10))
	def test_signed_positive_32_bit_integer(self):
		self.assertTrue(is_signed_32_bit_integer_format(10))
	def test_string(self):
		self.assertFalse(is_signed_32_bit_integer_format("string"))
	def test_float(self):
		self.assertFalse(is_signed_32_bit_integer_format(1.0))
	def test_signed_negative_greater_than_32_bit_integer(self):
		self.assertFalse(is_signed_32_bit_integer_format(-2147483649))
	def test_signed_positive_greater_than_32_bit_integer(self):
		self.assertFalse(is_signed_32_bit_integer_format(2147483648))
	def test_max_signed_negative_32_bit_integer(self):
		self.assertTrue(is_signed_32_bit_integer_format(-2147483648))
	def test_max_signed_positive_32_bit_integer(self):
		self.assertTrue(is_signed_32_bit_integer_format(2147483647))