Repository: sdv-dev/RDT (language: python)

Issue:
OneHotEncoder doesn't work with boolean sdtype
### Environment Details

Please indicate the following details about the environment in which you found the bug:

* RDT version: Any
* Python version: Any
* Operating System: Any

### Error Description

The `OneHotEncoder` should be compatible with boolean sdtypes.

### Steps to reproduce

```
config = {
  'sdtypes': {
    'last_login': 'datetime',
    'email_optin': 'boolean',
    'credit_card': 'categorical',
    'age': 'numerical',
    'dollars_spent': 'numerical'
  },
  'transformers': {
    'last_login': UnixTimestampEncoder(missing_value_replacement="mean"),
    'email_optin': OneHotEncoder(),
    'credit_card': FrequencyEncoder(),
    'age': FloatFormatter(missing_value_replacement="mean"),
    'dollars_spent': FloatFormatter(missing_value_replacement="mean")
  }
}

ht = HyperTransformer()
ht.set_config(config)
```



Discussion / hints:

Fix patch:
diff --git a/rdt/transformers/categorical.py b/rdt/transformers/categorical.py
index fa9f74512..c74881e0b 100644
--- a/rdt/transformers/categorical.py
+++ b/rdt/transformers/categorical.py
@@ -256,6 +256,7 @@ class OneHotEncoder(BaseTransformer):
     """
 
     INPUT_SDTYPE = 'categorical'
+    SUPPORTED_SDTYPES = ['categorical', 'boolean']
     dummies = None
     _dummy_na = None
     _num_dummies = None


Test patch:
diff --git a/tests/integration/test_hyper_transformer.py b/tests/integration/test_hyper_transformer.py
index d1501ad92..348f8b422 100644
--- a/tests/integration/test_hyper_transformer.py
+++ b/tests/integration/test_hyper_transformer.py
@@ -10,7 +10,7 @@
 from rdt.errors import Error, NotFittedError
 from rdt.transformers import (
     AnonymizedFaker, BaseTransformer, BinaryEncoder, FloatFormatter, FrequencyEncoder,
-    OneHotEncoder, RegexGenerator, get_default_transformer, get_default_transformers)
+    LabelEncoder, OneHotEncoder, RegexGenerator, get_default_transformer, get_default_transformers)
 from rdt.transformers.datetime import UnixTimestampEncoder
 
 
@@ -286,6 +286,28 @@ def test_single_category():
     pd.testing.assert_frame_equal(data, reverse)
 
 
+def test_categorical_encoders_with_booleans():
+    """Test that categorical encoders support boolean values."""
+    # Setup
+    config = {
+        'sdtypes': {
+            'email_confirmed': 'boolean',
+            'subscribed': 'boolean',
+            'paid': 'boolean',
+        },
+        'transformers': {
+            'email_confirmed': FrequencyEncoder(),
+            'subscribed': OneHotEncoder(),
+            'paid': LabelEncoder(),
+        }
+    }
+
+    ht = HyperTransformer()
+
+    # Run and Assert
+    ht.set_config(config)
+
+
 def test_dtype_category():
     """Test that categorical variables of dtype category are supported."""
     # Setup