//-----------------------------------------------------------------------
//
// Copyright (c) Outercurve Foundation. All rights reserved.
//
//-----------------------------------------------------------------------
namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange {
using System.IO;
using DotNetOpenAuth.OpenId.Extensions.AttributeExchange;
using NUnit.Framework;
[TestFixture]
public class StoreResponseTests {
///
/// Verifies the constructor's behavior.
///
[Test]
public void Ctor() {
var response = new StoreResponse();
Assert.IsTrue(response.Succeeded, "The default status should be Succeeded.");
Assert.IsNull(response.FailureReason);
response = new StoreResponse("failed");
Assert.IsFalse(response.Succeeded);
Assert.AreEqual("failed", response.FailureReason);
}
///
/// Verifies the Equals method.
///
[Test]
public void EqualityTests() {
var response1 = new StoreResponse();
var response2 = new StoreResponse();
Assert.AreEqual(response1, response2);
response1.Succeeded = true;
response2.Succeeded = false;
Assert.AreNotEqual(response1, response2);
response1.Succeeded = false;
Assert.AreEqual(response1, response2);
response1.FailureReason = "bad code";
Assert.AreNotEqual(response1, response2);
response2.FailureReason = "bad code";
Assert.AreEqual(response1, response2);
}
///
/// Verifies that the class is serializable.
///
[Test]
public void Serializable() {
var store = new StoreResponse();
store.Succeeded = false;
store.FailureReason = "some reason";
var formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
var ms = new MemoryStream();
formatter.Serialize(ms, store);
ms.Position = 0;
var store2 = formatter.Deserialize(ms);
Assert.AreEqual(store, store2);
}
}
}