def setdefault(options):
mapping = options.constructor({'<STR_LIT:foo>': '<STR_LIT:bar>'})<EOL>assert_equals(mapping.setdefault('<STR_LIT:foo>', '<STR_LIT>'), '<STR_LIT:bar>')<EOL>assert_equals(mapping.foo, '<STR_LIT:bar>')<EOL>assert_equals(mapping.setdefault('<STR_LIT>', '<STR_LIT>'), '<STR_LIT>')<EOL>assert_equals(mapping.lorem, '<STR_LIT>')<EOL>assert_true(mapping.setdefault('<STR_LIT>') is None)<EOL>assert_true(mapping.return_none is None)<EOL>assert_equals(mapping.setdefault(<NUM_LIT:1>, '<STR_LIT>'), '<STR_LIT>')<EOL>assert_equals(mapping[<NUM_LIT:1>], '<STR_LIT>')<EOL>assert_equals(mapping.setdefault('<STR_LIT>', '<STR_LIT:yes>'), '<STR_LIT:yes>')<EOL>assert_raises(AttributeError, lambda: mapping._hidden)<EOL>assert_equals(mapping['<STR_LIT>'], '<STR_LIT:yes>')<EOL>assert_equals(mapping.setdefault('<STR_LIT>', '<STR_LIT:value>'), '<STR_LIT:value>')<EOL>assert_not_equals(mapping.get, '<STR_LIT:value>')<EOL>assert_equals(mapping['<STR_LIT>'], '<STR_LIT:value>')<EOL>
{cls}.setdefault