public void GenericCreateThrowsOnNullSerializer() { var payload = new TestModel { A = "value", B = 5, C = true }; Assert.That( () => BinaryData.FromSerializable(payload, null), Throws.InstanceOf <ArgumentNullException>()); Assert.That( async() => await BinaryData.FromSerializableAsync(payload, null), Throws.InstanceOf <ArgumentNullException>()); }
public async Task CanCreateBinaryDataFromCustomType() { var payload = new TestModel { A = "value", B = 5, C = true }; var serializer = new JsonObjectSerializer(); await AssertData(BinaryData.FromSerializable(payload, serializer)); await AssertData(await BinaryData.FromSerializableAsync(payload, serializer)); async Task AssertData(BinaryData data) { Assert.AreEqual(payload.A, data.Deserialize <TestModel>(serializer).A); Assert.AreEqual(payload.B, data.Deserialize <TestModel>(serializer).B); Assert.AreEqual(payload.C, data.Deserialize <TestModel>(serializer).C); Assert.AreEqual(payload.A, (await data.DeserializeAsync <TestModel>(serializer)).A); Assert.AreEqual(payload.B, (await data.DeserializeAsync <TestModel>(serializer)).B); Assert.AreEqual(payload.C, (await data.DeserializeAsync <TestModel>(serializer)).C); } }
public async Task AsThrowsExceptionOnIncompatibleType() { var payload = new TestModel { A = "value", B = 5, C = true }; var serializer = new JsonObjectSerializer(); AssertData(BinaryData.FromSerializable(payload, serializer)); AssertData(await BinaryData.FromSerializableAsync(payload, serializer)); void AssertData(BinaryData data) { Assert.That( () => data.Deserialize <string>(serializer), Throws.InstanceOf <Exception>()); Assert.That( async() => await data.DeserializeAsync <string>(serializer), Throws.InstanceOf <Exception>()); } }