def test_cut_custom_nonarray_attr_serialization(): """Check that arbitrary custom fields work with Cuts upon (de)serialization.""" cut = MonoCut(id="x", start=10, duration=8, channel=0, custom={"SNR": 7.3}) data = cut.to_dict() restored_cut = deserialize_item(data) assert cut == restored_cut # Note: we extended cuts attributes by setting the "custom" field. assert restored_cut.SNR == 7.3
def test_cut_custom_attr_serialization(): """Check that a custom Array attribute is successfully serialized + deserialized.""" ivector = np.arange(20).astype(np.float32) with NamedTemporaryFile(suffix=".h5") as f, LilcomHdf5Writer(f.name) as writer: cut = MonoCut(id="x", start=0, duration=5, channel=0) cut.ivector = writer.store_array(key="utt1", value=ivector) data = cut.to_dict() restored_cut = deserialize_item(data) assert cut == restored_cut restored_ivector = restored_cut.load_ivector() np.testing.assert_equal(ivector, restored_ivector)