Skip to content

Commit

Permalink
Merge pull request #6053 from microsoft/dependabot/npm_and_yarn/dot-g…
Browse files Browse the repository at this point in the history
…ithub/pyright-1.1.362

Bump pyright from 1.1.361 to 1.1.362 in /.github
  • Loading branch information
jenshnielsen committed May 8, 2024
2 parents 02c2e5c + 115a74c commit 182a98c
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 4 deletions.
2 changes: 1 addition & 1 deletion .github/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"devDependencies": {
"pyright": "1.1.361"
"pyright": "1.1.362"
}
}
3 changes: 1 addition & 2 deletions src/qcodes/parameters/parameter_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ def __call__(self) -> ParamDataType:
pass

@overload
def __call__(self, *args: Any, **kwargs: Any) -> None:
def __call__(self, value: ParamDataType, **kwargs: Any) -> None:
pass

def __call__(self, *args: Any, **kwargs: Any) -> ParamDataType | None:
Expand Down Expand Up @@ -649,7 +649,6 @@ def _from_raw_value_to_value(self, raw_value: ParamRawDataType) -> ParamDataType
def _wrap_get(
self, get_function: Callable[..., ParamRawDataType]
) -> Callable[..., ParamDataType]:

@wraps(get_function)
def get_wrapper(*args: Any, **kwargs: Any) -> ParamDataType:
if not self.gettable:
Expand Down
49 changes: 48 additions & 1 deletion tests/parameter/test_parameter_basics.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import pytest

import qcodes.validators as vals
from qcodes.parameters import Function, Parameter, ParameterBase
from qcodes.parameters import Function, Parameter, ParameterBase, ParamRawDataType

from .conftest import (
GettableParam,
Expand Down Expand Up @@ -174,6 +174,53 @@ def doubler(x: float) -> None:
f(20)


def test_parameter_call() -> None:
p = Parameter("test", get_cmd=None, set_cmd=None)

p(1)

assert p() == 1

with pytest.raises(TypeError, match="takes 1 positional argument but 2 were given"):
p(1, 2) # type: ignore[call-overload]

p(value=2)

assert p() == 2

with pytest.raises(TypeError, match="got multiple values for argument"):
p(2, value=2) # type: ignore[call-overload]


def test_parameter_set_extra_kwargs() -> None:
class ParameterWithSetKwargs(Parameter):
def set_raw(
self,
value: ParamRawDataType,
must_be_set_true: bool = False,
) -> None:
if must_be_set_true is True:
self.cache._set_from_raw_value(value)
else:
raise ValueError("must_be_set_true must be True")

p = ParameterWithSetKwargs("testparam", get_cmd=None)

with pytest.raises(ValueError, match="must_be_set_true must be True"):
p(1)

with pytest.raises(ValueError, match="must_be_set_true must be True"):
p.set(1)

p(1, must_be_set_true=True)

assert p() == 1

p.set(2, must_be_set_true=True)

assert p() == 2


def test_unknown_args_to_baseparameter_raises() -> None:
"""
Passing an unknown kwarg to ParameterBase should trigger a TypeError
Expand Down

0 comments on commit 182a98c

Please sign in to comment.