Wrapped up the sreg tests for now.
[dotnetoauth.git] / src / DotNetOpenAuth.Test / OpenId / Extensions / SimpleRegistration / ClaimsRequestTests.cs
blob673d11e777ad0779ccec205ab18cc14df205c645
1 //-----------------------------------------------------------------------
2 // <copyright file="ClaimsRequestTests.cs" company="Andrew Arnott">
3 // Copyright (c) Andrew Arnott. All rights reserved.
4 // </copyright>
5 //-----------------------------------------------------------------------
7 namespace DotNetOpenAuth.Test.OpenId.Extensions {
8 using System;
9 using System.Collections.Generic;
10 using System.Globalization;
11 using System.Linq;
12 using System.Text;
13 using DotNetOpenAuth.OpenId;
14 using DotNetOpenAuth.OpenId.Extensions.SimpleRegistration;
15 using Microsoft.VisualStudio.TestTools.UnitTesting;
16 using DotNetOpenAuth.OpenId.Messages;
17 using DotNetOpenAuth.Messaging.Reflection;
19 [TestClass]
20 public class ClaimsRequestTests : OpenIdTestBase {
21 [TestMethod]
22 public void CreateResponse() {
23 // some unofficial type URIs...
24 ParameterizedTypeUriPreservedTest("http://openid.net/sreg/1.0");
25 ParameterizedTypeUriPreservedTest("http://openid.net/sreg/1.1");
26 // and the official one.
27 ParameterizedTypeUriPreservedTest("http://openid.net/extensions/sreg/1.1");
30 [TestMethod]
31 public void RequiredOptionalLists() {
32 ClaimsRequest req = new ClaimsRequest();
33 MessageDictionary dictionary = new MessageDictionary(req);
34 Assert.AreEqual(string.Empty, dictionary["required"]);
35 Assert.AreEqual(string.Empty, dictionary["optional"]);
37 req.BirthDate = DemandLevel.Request;
38 req.Nickname = DemandLevel.Require;
39 Assert.AreEqual("dob", dictionary["optional"]);
40 Assert.AreEqual("nickname", dictionary["required"]);
42 req.PostalCode = DemandLevel.Require;
43 req.Gender = DemandLevel.Request;
44 Assert.AreEqual("dob,gender", dictionary["optional"]);
45 Assert.AreEqual("nickname,postcode", dictionary["required"]);
48 [TestMethod]
49 public void EqualityTests() {
50 ClaimsRequest req1 = new ClaimsRequest();
51 ClaimsRequest req2 = new ClaimsRequest();
52 Assert.AreEqual(req1, req2);
54 req1.BirthDate = DemandLevel.Request;
55 Assert.AreNotEqual(req1, req2);
57 req2.BirthDate = DemandLevel.Request;
58 req1.Country = DemandLevel.Request;
59 Assert.AreNotEqual(req1, req2);
62 private void ParameterizedTypeUriPreservedTest(string typeUri) {
63 ClaimsRequest request = new ClaimsRequest(typeUri);
64 ClaimsResponse response = request.CreateResponse();
65 Assert.AreEqual(typeUri, ((IOpenIdMessageExtension)response).TypeUri);