コード例 #1
0
    def test_getbool__with_known_param_and_valid_text(self):
        for true_text in ["true", "TRUE", "True", "yes", "on", "1"]:
            userdata = UserData(param=true_text)
            value = userdata.getbool("param")
            assert isinstance(value, bool), "text=%s" % true_text
            self.assertEqual(value, True)

        for false_text in ["false", "FALSE", "False", "no", "off", "0"]:
            userdata = UserData(param=false_text)
            value = userdata.getbool("param")
            assert isinstance(value, bool), "text=%s" % false_text
            self.assertEqual(value, False)
コード例 #2
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
    def test_getas__with_known_param_and_valid_text(self):
        userdata = UserData(param="42")
        assert "param" in userdata, "ENSURE: known param"

        value = userdata.getas(int, "param")
        assert isinstance(value, int)
        assert value == 42
コード例 #3
0
    def test_getas__with_unknown_param_returns_default_value(self):
        userdata = UserData()
        assert "param" not in userdata, "ENSURE: unknown param"

        value = userdata.getas(int, "param", 123)
        assert isinstance(value, int)
        self.assertEqual(value, 123)
コード例 #4
0
    def test_getas__with_known_param_and_preconverted_value(self):
        userdata = UserData(param=42)
        assert "param" in userdata, "ENSURE: known param"

        value = userdata.getas(int, "param")
        assert isinstance(value, int)
        self.assertEqual(value, 42)
コード例 #5
0
 def test_userdata_is_dictlike(self):
     userdata = UserData(name="Foo", number=42)
     value1 = userdata["name"]
     value2 = userdata.get("number")
     value3 = userdata.get("unknown", Unknown)
     assert isinstance(userdata, dict)
     self.assertEqual(value1, "Foo")
     self.assertEqual(value2, 42)
     assert value3 is Unknown
コード例 #6
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
 def test_setitem__stores_value(self):
     userdata = UserData({"my.scope.param1": "123"})
     config = UserDataNamespace("my.scope", userdata)
     scoped_name = "my.scope.new_param"
     config["new_param"] = 1234
     assert "new_param" in config
     assert config["new_param"] == 1234
     assert scoped_name in config.data
     assert config.data[scoped_name] == 1234
コード例 #7
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
 def test_items__with_scoped_params(self):
     userdata = UserData({
         "my.other_scope.param1": "__OTHER1__",
         "my.scope.param1": "123",
         "my.scope.param2": "456",
         "my.other_scope.param2": "__OTHER2__",
     })
     config = UserDataNamespace("my.scope", userdata)
     assert sorted(config.items()) == [("param1", "123"), ("param2", "456")]
コード例 #8
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
 def test_scoped_keys__with_scoped_params(self):
     userdata = UserData({
         "my.other_scope.param1": "123",
         "my.scope.param1": "123",
         "my.scope.param2": "456",
         "my.other_scope.param2": "123",
     })
     config = UserDataNamespace("my.scope", userdata)
     assert sorted(
         config.scoped_keys()) == ["my.scope.param1", "my.scope.param2"]
コード例 #9
0
    def test_getas__with_known_param_and_preconverted_value_and_valuetype(
            self):
        userdata = UserData(param=42)
        assert "param" in userdata, "ENSURE: known param"

        def parse_int(text):
            return int(text)

        value = userdata.getas(parse_int, "param", valuetype=int)
        assert isinstance(value, int)
        self.assertEqual(value, 42)
コード例 #10
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
 def test_length__with_scoped_params(self):
     userdata1 = UserData({"my.scope.param1": "123"})
     userdata2 = UserData({
         "my.other_scope.param1": "123",
         "my.scope.param1": "123",
         "my.scope.param2": "456",
     })
     userdata3 = UserData({
         "my.other_scope.param1": "123",
         "my.scope.param1": "123",
         "my.scope.param2": "456",
         "my.scope.param3": "789",
         "my.other_scope.param2": "123",
     })
     config = UserDataNamespace("my.scope")
     config.data = userdata1
     assert len(config) == 1
     config.data = userdata2
     assert len(config) == 2
     config.data = userdata3
     assert len(config) == 3
コード例 #11
0
 def test_getbool__with_unknown_param_returns_default_value(self):
     userdata = UserData()
     value = userdata.getint("param", 1.2)
     assert isinstance(value, float)
     self.assertEqual(value, 1.2)
コード例 #12
0
 def test_getbool__with_unknown_param_without_default_returns_false(self):
     userdata = UserData()
     value = userdata.getfloat("param")
     self.assertEqual(value, False)
コード例 #13
0
 def test_getbool__with_known_param_and_invalid_text_raises_ValueError(
         self):
     userdata = UserData(param="__BAD_VALUE__")
     self.assertRaises(ValueError, userdata.getbool, "param")
コード例 #14
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
 def test_getint__retrieves_value_when_scoped_param_exists(self):
     userdata = UserData({"my.scope.param2": "12"})
     config = UserDataNamespace("my.scope", userdata)
     assert config.getint("param2") == 12
コード例 #15
0
 def test_getfloat__with_unknown_param_without_default_returns_zero(self):
     userdata = UserData()
     value = userdata.getfloat("param")
     self.assertEqual(value, 0.0)
コード例 #16
0
 def test_getfloat__with_known_param_and_invalid_text_raises_ValueError(
         self):
     userdata = UserData(param="__BAD_NUMBER__")
     self.assertRaises(ValueError, userdata.getfloat, "param")
コード例 #17
0
 def test_getfloat__with_known_param_and_valid_text(self):
     for valid_text in ["1.2", "2", "-1E+3", "+2.34E-5"]:
         userdata = UserData(param=valid_text)
         value = userdata.getfloat("param")
         assert isinstance(value, float)
         self.assertEqual(value, float(valid_text))
コード例 #18
0
 def test_getint__with_known_param_and_valid_text(self):
     userdata = UserData(param="42")
     value = userdata.getint("param")
     assert isinstance(value, int)
     self.assertEqual(value, 42)
コード例 #19
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
 def test_getbool__retrieves_value_when_scoped_param_exists(self):
     userdata = UserData({"my.scope.param3": "yes"})
     config = UserDataNamespace("my.scope", userdata)
     assert config.getbool("param3") == True
コード例 #20
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
 def test_getbool__returns_default_when_scoped_param_not_exists(self):
     userdata = UserData({})
     config = UserDataNamespace("my.scope", userdata)
     assert config.getint("UNKNOWN_PARAM", True) == True
     assert config.getint("UNKNOWN_PARAM", False) == False
コード例 #21
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
 def test_contains__when_scoped_param_not_exists(self):
     userdata = UserData({"my.scope.param": 12})
     config = UserDataNamespace("my.scope", userdata)
     assert "UNKNOWN_PARAM" not in config
     assert not ("UNKNOWN_PARAM" in config)
コード例 #22
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
 def test_getitem__returns_value_when_param_exists(self):
     userdata = UserData({"my.scope.param": "123"})
     config = UserDataNamespace("my.scope", userdata)
     assert config["param"] == "123"
コード例 #23
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
 def test_length__returns_zero_without_params(self):
     userdata = UserData({"my.other_scope.param1": "123"})
     config = UserDataNamespace("my.scope", userdata)
     assert len(config) == 0
コード例 #24
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
 def test_getitem__raises_error_when_param_not_exists(self):
     userdata = UserData({"my.scope.param": "123"})
     config = UserDataNamespace("my.scope", userdata)
     with pytest.raises(KeyError):
         _ = config["UNKNOWN_PARAM"]
コード例 #25
0
 def test_getas__with_known_param_and_invalid_text_raises_ValueError(self):
     userdata = UserData(param="__BAD_NUMBER__")
     assert "param" in userdata, "ENSURE: known param"
     self.assertRaises(ValueError, userdata.getas, int, "param")
コード例 #26
0
    def test_getas__with_unknown_param_without_default_returns_none(self):
        userdata = UserData()
        assert "param" not in userdata, "ENSURE: unknown param"

        value = userdata.getas(int, "param")
        assert value is None
コード例 #27
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
 def test_get__returns_default_when_scoped_param_not_exists(self):
     config = UserDataNamespace("my.scope", UserData({}))
     assert config.get("UNKNOWN_PARAM", "DEFAULT1") == "DEFAULT1"
     assert config.get("UNKNOWN_PARAM", "DEFAULT2") == "DEFAULT2"
コード例 #28
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
 def test_getint__returns_default_when_scoped_param_not_exists(self):
     userdata = UserData({})
     config = UserDataNamespace("my.scope", userdata)
     assert config.getint("UNKNOWN_PARAM", 123) == 123
     assert config.getint("UNKNOWN_PARAM", 321) == 321
コード例 #29
0
 def setup_userdata(self):
     if not isinstance(self.userdata, UserData):
         self.userdata = UserData(self.userdata)
     if self.userdata_defines:
         # -- ENSURE: Cmd-line overrides configuration file parameters.
         self.userdata.update(self.userdata_defines)
コード例 #30
0
ファイル: test_userdata.py プロジェクト: zrbhavsar/behave
 def test_get__retrieves_value_when_scoped_param_exists(self):
     userdata = UserData({"my.scope.param1": 12})
     config = UserDataNamespace("my.scope", userdata)
     assert config.get("param1") == 12
     assert config["param1"] == 12