Build a User Configuration Manager

Hi All! I can’t figure out why my code passes all the tests related to building the functions, but not the ones with example cases. Should I be testing the code differently for it to count? I’m lost on how the code is actually validated

test_settings = { 'volume' : '10', 'sound' : 'off'}

test_settings_empty = {}




def add_setting(dict_settings, new_settings):

key_lowercase = new_settings[0].lower()

value_lowercase = new_settings[1].lower()




if key_lowercase in dict_settings:

print(f"Setting '{key_lowercase}' already exists! Cannot add a new setting with this name.")

else:

dict_settings.update({key_lowercase : value_lowercase})

print(f"Setting '{key_lowercase}' added with value {value_lowercase} successfully!")




#Print new dict for test

#print(dict_settings)




def update_setting(dict_settings, new_settings):

key_lowercase = new_settings[0].lower()

value_lowercase = new_settings[1].lower()




if key_lowercase in dict_settings:

dict_settings[key_lowercase] = value_lowercase

print(f"Setting '{key_lowercase}' updated to {value_lowercase} successfully!")




#Print new dict for test

#print(dict_settings)




else:

print(f"Setting '{key_lowercase}' does not exist! Cannot update a non-existing setting.")




def delete_setting(dict_settings, key):

key_lowercase = key.lower()




if key_lowercase in dict_settings:

del dict_settings[key_lowercase]

print(f"Setting '{key_lowercase}' deleted successfully!")




#Print new dict for test

#print(dict_settings)




else:

print('Setting not found!')




def view_settings(dict_settings):

if dict_settings == {}:

return 'No settings available.'

else:

result_string = 'Current User Settings: \n'

for item in dict_settings:

capitalized_key = item.capitalize()

result_string += capitalized_key

result_string += " : "

result_string += dict_settings[item]

result_string += "\n"

return result_string




# Test 6

# add_setting({'theme': 'light'}, ('THEME', 'dark'))




# Test 7

# add_setting({'theme': 'light'}, ('volume', 'high'))




#Test 13

# update_setting({'theme': 'light'}, ('theme', 'dark'))




# Test 14

# update_setting({'theme': 'light'}, ('volume', 'high'))




# Test 19

# delete_setting({'theme': 'light'}, 'theme')




# Test 20

# delete_setting(test_settings, 'color')




#Test 24

#print(view_settings(test_settings_empty))




#Test 25, 26, 27

#print(view_settings(test_settings))

If you have a question about a specific challenge as it relates to your written code for that challenge and need some help, click the Get Help > Ask for Help button located on the challenge.

The Ask for Help button will create a new topic with all code you have written and include a link to the challenge also. You will still be able to ask any questions in the post before submitting it to the forum.

Thank you.

1 Like

Thanks master, done