@@ -1046,7 +1046,10 @@ def test_integer_config_to_proto_with_children(self):
1046
1046
1047
1047
1048
1048
class TestParameterConfigConverterFromProto :
1049
- def test_creates_from_good_proto (self ):
1049
+ """Test ParameterConfigConverter.from_proto."""
1050
+
1051
+ def test_from_proto_discrete (self ):
1052
+ """Test from_proto."""
1050
1053
proto = study_pb2 .StudySpec .ParameterSpec (
1051
1054
parameter_id = "name" ,
1052
1055
discrete_value_spec = study_pb2 .StudySpec .ParameterSpec .DiscreteValueSpec (
@@ -1061,3 +1064,38 @@ def test_creates_from_good_proto(self):
1061
1064
assert parameter_config .bounds == (1.0 , 3.0 )
1062
1065
assert parameter_config .feasible_values == [1.0 , 2.0 , 3.0 ]
1063
1066
assert parameter_config .default_value == 2.0
1067
+ assert parameter_config .external_type == pyvizier .ExternalType .INTERNAL
1068
+
1069
+ def test_from_proto_integer (self ):
1070
+ """Test from_proto."""
1071
+ proto = study_pb2 .StudySpec .ParameterSpec (
1072
+ parameter_id = "name" ,
1073
+ integer_value_spec = study_pb2 .StudySpec .ParameterSpec .IntegerValueSpec (
1074
+ default_value = 2 , min_value = 1 , max_value = 3
1075
+ ),
1076
+ )
1077
+
1078
+ parameter_config = proto_converters .ParameterConfigConverter .from_proto (proto )
1079
+
1080
+ assert parameter_config .name == proto .parameter_id
1081
+ assert parameter_config .type == pyvizier .ParameterType .INTEGER
1082
+ assert parameter_config .bounds == (1 , 3 )
1083
+ assert parameter_config .default_value == 2
1084
+ assert parameter_config .external_type == pyvizier .ExternalType .INTEGER
1085
+
1086
+ def test_from_proto_bool (self ):
1087
+ """Test from_proto."""
1088
+ proto = study_pb2 .StudySpec .ParameterSpec (
1089
+ parameter_id = "name" ,
1090
+ categorical_value_spec = study_pb2 .StudySpec .ParameterSpec .CategoricalValueSpec (
1091
+ default_value = "True" , values = ["True" , "False" ]
1092
+ ),
1093
+ )
1094
+
1095
+ parameter_config = proto_converters .ParameterConfigConverter .from_proto (proto )
1096
+
1097
+ assert parameter_config .name == proto .parameter_id
1098
+ assert parameter_config .type == pyvizier .ParameterType .CATEGORICAL
1099
+ assert parameter_config .feasible_values == ["False" , "True" ]
1100
+ assert parameter_config .default_value == "True"
1101
+ assert parameter_config .external_type == pyvizier .ExternalType .BOOLEAN
0 commit comments