def test_set_show_labels(document, comm): class Test(param.Parameterized): a = param.Number(bounds=(0, 10)) pane = Param(Test()) model = pane.get_root(document, comm=comm) assert len(model.children) == 2 title, widget = model.children assert isinstance(title, Div) assert isinstance(widget, Slider) assert widget.title == 'A' pane.show_labels = False assert len(model.children) == 2 assert isinstance(model.children[1], Slider) assert model.children[1].title == ''
def test_set_display_threshold(document, comm): class Test(param.Parameterized): a = param.Number(bounds=(0, 10), precedence=1) b = param.String(default='A', precedence=2) pane = Param(Test()) model = pane.get_root(document, comm=comm) assert len(model.children) == 3 title, slider, text = model.children assert isinstance(title, Div) assert isinstance(slider, Slider) assert isinstance(text, TextInput) pane.display_threshold = 1.5 assert len(model.children) == 2 title, text = model.children assert isinstance(title, Div) assert isinstance(text, TextInput)
def test_set_parameters(document, comm): class Test(param.Parameterized): a = param.Number(bounds=(0, 10)) b = param.String(default='A') pane = Param(Test()) model = pane.get_root(document, comm=comm) assert len(model.children) == 3 title, slider, text = model.children assert isinstance(title, Div) assert isinstance(slider, Slider) assert isinstance(text, TextInput) pane.parameters = ['b'] assert len(model.children) == 2 title, text = model.children assert isinstance(title, Div) assert isinstance(text, TextInput)
def test_replace_param_object(document, comm): class Test(param.Parameterized): a = param.Number(bounds=(0, 10)) pane = Param() model = pane.get_root(document, comm=comm) assert model.children == [] pane.object = Test() assert len(model.children) == 2 title, widget = model.children assert isinstance(title, Div) assert title.text == '<b>Test</b>' assert isinstance(widget, Slider) assert widget.start == 0 assert widget.end == 10
def test_set_widgets(document, comm): class Test(param.Parameterized): a = param.Number(default=1, bounds=(0, 10), precedence=1) b = param.String(default='A', precedence=2) pane = Param(Test()) model = pane.get_root(document, comm=comm) assert len(model.children) == 3 title, slider, text = model.children assert isinstance(title, Div) assert isinstance(slider, Slider) assert isinstance(text, TextInput) pane.widgets = {'a': LiteralInput(value=1, type=(float, int))} assert len(model.children) == 3 title, number, text = model.children assert isinstance(title, Div) assert isinstance(number, TextInput) assert isinstance(text, TextInput) pane.widgets = {'a': {'height': 100}} assert len(model.children) == 3 title, number, text = model.children assert isinstance(title, Div) assert isinstance(number, Slider) assert number.height == 100 assert isinstance(text, TextInput) pane.widgets = {'a': {'type': LiteralInput, 'height': 100}} assert len(model.children) == 3 title, number, text = model.children assert isinstance(title, Div) assert isinstance(number, TextInput) assert number.height == 100 assert isinstance(text, TextInput)
def test_set_widgets_throttled(document, comm): class Test(param.Parameterized): a = param.Number(default=0, bounds=(0, 10), precedence=1) test = Test() pane = Param(test) model = pane.get_root(document, comm=comm) pane.widgets = {"a": {"throttled": False}} assert len(model.children) == 2 _, number = model.children number.value = 1 assert number.value == 1 assert number.value_throttled != 1 assert test.a == 1 test.a = 2 assert number.value == 2 assert number.value_throttled != 2 assert test.a == 2 # By setting throttled to true, # `test.a` is linked to `number.value_throttled` # instead of `number.value`. pane.widgets = {"a": {"throttled": True}} assert len(model.children) == 2 _, number = model.children number.value_throttled = 3 assert number.value != 3 assert number.value_throttled == 3 assert test.a == 3 test.a = 4 assert number.value != 4 assert number.value_throttled == 4 assert test.a == 4
def test_set_name(document, comm): class Test(param.Parameterized): a = param.Number(bounds=(0, 10)) b = param.String(default='A') pane = Param(Test(), name='First') model = pane.get_root(document, comm=comm) assert len(model.children) == 3 title, slider, text = model.children assert isinstance(title, Div) # Check setting name displays in as a title assert title.text == '<b>First</b>' assert isinstance(slider, Slider) assert isinstance(text, TextInput) pane.name = 'Second' assert len(model.children) == 3 title, _, _ = model.children assert isinstance(title, Div) # Check the title updates with name assert title.text == '<b>Second</b>'