示例#1
0
 def list_kind_triggers_append_instead_of_overwrite(self):
     # TODO: when put this way it makes the API look pretty strange;
     # maybe a sign we should switch to explicit setter methods
     # (selected on kind, perhaps) instead of using an implicit setter
     a = Argument("mylist", kind=list)
     assert a.value == []
     a.value = "val1"
     assert a.value == ["val1"]
     a.value = "val2"
     assert a.value == ["val1", "val2"]
示例#2
0
 def incrementable_True_triggers_increment_of_default(self):
     a = Argument("verbose", kind=int, default=0, incrementable=True)
     assert a.value == 0
     # NOTE: parser currently just goes "Argument.takes_value is false?
     # Gonna stuff True/False in there." So this looks pretty silly out
     # of context (as with list-types above.)
     a.value = True
     assert a.value == 1
     for _ in range(4):
         a.value = True
     assert a.value == 5
示例#3
0
 def list_kind_test_for_empty_list_value(self):
     arg = Argument("a", kind=list)
     assert not arg.got_value
     arg.value = "append-me"
     assert arg.got_value
示例#4
0
 def non_list_kind_tests_for_None_value(self):
     arg = Argument("a")
     assert not arg.got_value
     arg.value = "something"
     assert arg.got_value
示例#5
0
 def transformed_appears_as_dot_value_with_original_as_raw_value(self):
     "transformed, modified value is .value, original is .raw_value"
     a = Argument("a", kind=int)
     a.value = "5"
     assert a.value == 5
     assert a.raw_value == "5"
示例#6
0
 def untransformed_appears_as_dot_value(self):
     "untransformed, appears as .value"
     a = Argument("a", kind=str)
     a.value = "foo"
     assert a.value == "foo"
示例#7
0
 def available_as_dot_raw_value(self):
     "available as .raw_value"
     a = Argument("a")
     a.value = "foo"
     assert a.raw_value == "foo"