summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Test/OpenId/Extensions/AttributeExchange/StoreResponseTests.cs
blob: 4e432e16da0928d1e07dc3fe582c2483390c9294 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//-----------------------------------------------------------------------
// <copyright file="StoreResponseTests.cs" company="Andrew Arnott">
//     Copyright (c) Andrew Arnott. All rights reserved.
// </copyright>
//-----------------------------------------------------------------------

namespace DotNetOpenAuth.Test.OpenId.Extensions.AttributeExchange {
	using System.IO;
	using DotNetOpenAuth.OpenId.Extensions.AttributeExchange;
	using Microsoft.VisualStudio.TestTools.UnitTesting;

	[TestClass]
	public class StoreResponseTests {
		/// <summary>
		/// Verifies the constructor's behavior.
		/// </summary>
		[TestMethod]
		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);
		}

		/// <summary>
		/// Verifies the Equals method.
		/// </summary>
		[TestMethod]
		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);
		}

		/// <summary>
		/// Verifies that the class is serializable.
		/// </summary>
		[TestMethod]
		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);
		}
	}
}