BinarySerializableConstraint
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System;
namespace NUnit.Framework.Constraints
{
internal class ExceptionNotThrownConstraint : Constraint
{
public override string Description => "No Exception to be thrown";
public override ConstraintResult ApplyTo<TActual>(TActual actual)
{
Exception ex = actual as Exception;
Exception ex;
return new ConstraintResult(this, ex, ex == null);
}
}
}
namespace NUnit.Framework.Constraints
{
public class BinarySerializableConstraint : Constraint
{
private readonly BinaryFormatter serializer = new BinaryFormatter();
public override string Description => "binary serializable";
public override ConstraintResult ApplyTo<TActual>(TActual actual)
{
if (actual == null)
throw new ArgumentNullException("actual");
MemoryStream memoryStream = new MemoryStream();
bool isSuccess = false;
try {
serializer.Serialize(memoryStream, actual);
memoryStream.Seek(0, SeekOrigin.Begin);
isSuccess = (serializer.Deserialize(memoryStream) != null);
} catch (SerializationException) {
}
return new ConstraintResult(this, actual.GetType(), isSuccess);
}
protected override string GetStringRepresentation()
{
return "<binaryserializable>";
}
}
}
namespace NUnit.Framework.Constraints
{
}