def test_valid_spearman_threshold(threshold, criterion): config_data = {"fcluster": {"criterion": criterion, "threshold": threshold}} hierarchical_config.HierarchicalConfig(**config_data)
def test_invalid_linkage_metric(metric): config_data = {"linkage": {"metric": metric}} with pytest.raises(pydantic.ValidationError): hierarchical_config.HierarchicalConfig(**config_data)
def test_default_linkage_metric(): config_data = {} config = hierarchical_config.HierarchicalConfig(**config_data) assert "euclidean" == config.linkage.metric
def test_default_linkage_method(): config_data = {} config = hierarchical_config.HierarchicalConfig(**config_data) assert config.linkage.method == "average"
def test_valid_linkage_metric(metric): config_data = {"linkage": {"metric": metric}} hierarchical_config.HierarchicalConfig(**config_data)
def test_valid_linkage_method(method): config_data = {"linkage": {"method": method}} hierarchical_config.HierarchicalConfig(**config_data)
def test_default_fcluster_depth(): config = hierarchical_config.HierarchicalConfig() assert config.fcluster.depth == 2
def test_invalid_depth(depth): config_data = {"fcluster": {"depth": depth}} with pytest.raises(pydantic.ValidationError): hierarchical_config.HierarchicalConfig(**config_data)
def test_valid_depth(depth): config_data = {"fcluster": {"depth": depth}} hierarchical_config.HierarchicalConfig(**config_data)
def test_default_spearman_threshold(criterion, default_threshold): config_data = {"fcluster": {"criterion": criterion}} config = hierarchical_config.HierarchicalConfig(**config_data) assert config.fcluster.threshold == default_threshold