Last active
August 29, 2015 14:13
-
-
Save maaretp/5b96936ecd72c616a15d to your computer and use it in GitHub Desktop.
First Unit Test - after
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[TestClass] | |
public class ClaimEqualityComparerTest : BaseTest | |
{ | |
[TestMethod] | |
public void ClaimsAreEqual() | |
{ | |
var identical = new Claim { Type = "Type", Value = "Value" }; | |
var sameType = new Claim { Type = "TYPE", Value = "Value" }; | |
AssertEquality(true, identical, sameType); | |
} | |
[TestMethod] | |
public void ClaimsAreNotEqual() | |
{ | |
var differentValue = new Claim { Type = "Type", Value = "VALUE" }; | |
var nullType = new Claim { Type = null, Value = "Value" }; | |
var emptyType = new Claim { Type = "", Value = "Value" }; | |
AssertEquality(false, differentValue, nullType, emptyType, null); | |
} | |
[TestMethod] | |
public void NullTypesDontMatch() | |
{ | |
var nullType = new Claim { Type = null, Value = "Value" }; | |
AssertEquality(nullType, false, nullType ); | |
var emptyType = new Claim { Type = "", Value = "Value" }; | |
AssertEquality(emptyType, false, emptyType); | |
} | |
[TestMethod] | |
public void EmptyValueDoMatch() | |
{ | |
var emptyValue = new Claim { Type = "Type", Value = "" }; | |
AssertEquality(emptyValue, true, emptyValue); | |
var nullValue = new Claim { Type = "Type", Value = null }; | |
AssertEquality(nullValue, true, nullValue); | |
} | |
private static void AssertEquality(bool expected, params Claim[] cases) | |
{ | |
var master = new Claim { Type = "Type", Value = "Value" }; | |
AssertEquality(master, expected, cases); | |
} | |
private static void AssertEquality(Claim master, bool expected, params Claim[] cases) | |
{ | |
var comparator = new ClaimEqualityComparer(); | |
foreach (var c in cases) | |
{ | |
comparator.Equals(master, c).Should().Be(expected, because:string.Format("[master,case] = [{0},{1}]", master, c)); | |
comparator.Equals(c, master).Should().Be(expected); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment