input: Write a function that takes in a string and a list of words and returns true if the string contains all the words in the list, ignoring case. If the string contains all the words, return True, otherwise return False.
  
  def contains_words(input_string, words):
      input_string = input_string.lower()
      for word in words:
          if word.lower() not in input_string:
              return False
      return True
  
  assert contains_words('This is a test', ['test', 'this', 'is']) == True
  assert contains_words('This is a test', ['test', 'This', 'is']) == True
  assert contains_words('This is a test', ['Test', 'this', 'is']) == True
  assert contains_words('This is a test', ['Test', 'this', 'a']) == False
  assert contains_words('This is a test', ['Test', 'is', 'this', 'a', 'test']) == True
  assert contains_words('This is a test', ['This', 'is', 'a', 'test', 'sentence']) == False
output: def contains_words(input_string, words):
      input_string = input_string.lower()
      for word in words:
          if word.lower() not in input_string:
              return False
      return True