public void ValidateSessionTokenParsingWithInvalidFormat() { string sessionToken = "1;100#1=20#2=40"; ISessionToken parsedSessionToken; Assert.IsFalse(VectorSessionToken.TryCreate(sessionToken, out parsedSessionToken)); sessionToken = "foo"; Assert.IsFalse(SimpleSessionToken.TryCreate(sessionToken, out parsedSessionToken)); }
public void ValidateSuccessfulSessionTokenParsing() { // valid session token string sessionToken = "1#100#1=20#2=5#3=30"; ISessionToken parsedSessionToken; Assert.IsTrue(VectorSessionToken.TryCreate(sessionToken, out parsedSessionToken)); sessionToken = "500"; Assert.IsTrue(SimpleSessionToken.TryCreate(sessionToken, out parsedSessionToken)); }
public void ValidateSessionTokenComparison() { // valid session token ISessionToken sessionToken1; ISessionToken sessionToken2; ISessionToken sessionTokenMerged; Assert.IsTrue(VectorSessionToken.TryCreate("1#100#1=20#2=5#3=30", out sessionToken1)); Assert.IsTrue(VectorSessionToken.TryCreate("2#105#4=10#2=5#3=30", out sessionToken2)); Assert.IsFalse(sessionToken1.Equals(sessionToken2)); Assert.IsFalse(sessionToken2.Equals(sessionToken1)); Assert.IsTrue(sessionToken1.IsValid(sessionToken2)); Assert.IsFalse(sessionToken2.IsValid(sessionToken1)); Assert.IsTrue(VectorSessionToken.TryCreate("2#105#2=5#3=30#4=10", out sessionTokenMerged)); Assert.IsTrue(sessionTokenMerged.Equals(sessionToken1.Merge(sessionToken2))); Assert.IsTrue(VectorSessionToken.TryCreate("1#100#1=20#2=5#3=30", out sessionToken1)); Assert.IsTrue(VectorSessionToken.TryCreate("1#100#1=10#2=8#3=30", out sessionToken2)); Assert.IsFalse(sessionToken1.Equals(sessionToken2)); Assert.IsFalse(sessionToken2.Equals(sessionToken1)); Assert.IsFalse(sessionToken1.IsValid(sessionToken2)); Assert.IsFalse(sessionToken2.IsValid(sessionToken1)); Assert.IsTrue(VectorSessionToken.TryCreate("1#100#1=20#2=8#3=30", out sessionTokenMerged)); Assert.IsTrue(sessionTokenMerged.Equals(sessionToken1.Merge(sessionToken2))); Assert.IsTrue(VectorSessionToken.TryCreate("1#100#1=20#2=5#3=30", out sessionToken1)); Assert.IsTrue(VectorSessionToken.TryCreate("1#102#1=100#2=8#3=30", out sessionToken2)); Assert.IsFalse(sessionToken1.Equals(sessionToken2)); Assert.IsFalse(sessionToken2.Equals(sessionToken1)); Assert.IsTrue(sessionToken1.IsValid(sessionToken2)); Assert.IsFalse(sessionToken2.IsValid(sessionToken1)); Assert.IsTrue(VectorSessionToken.TryCreate("1#102#2=8#3=30#1=100", out sessionTokenMerged)); Assert.IsTrue(sessionTokenMerged.Equals(sessionToken1.Merge(sessionToken2))); Assert.IsTrue(VectorSessionToken.TryCreate("1#101#1=20#2=5#3=30", out sessionToken1)); Assert.IsTrue(VectorSessionToken.TryCreate("1#100#1=20#2=5#3=30#4=40", out sessionToken2)); try { sessionToken1.Merge(sessionToken2); Assert.Fail("Region progress can not be different when version is same"); } catch (InternalServerErrorException) { } try { sessionToken2.IsValid(sessionToken1); Assert.Fail("Region progress can not be different when version is same"); } catch (InternalServerErrorException) { } Assert.IsTrue(SimpleSessionToken.TryCreate("100", out sessionToken1)); Assert.IsTrue(SimpleSessionToken.TryCreate("200", out sessionToken2)); Assert.IsTrue(sessionToken1.Merge(sessionToken2).Equals(sessionToken2)); Assert.IsFalse(sessionToken2.Equals(sessionToken1)); Assert.IsTrue(sessionToken1.IsValid(sessionToken2)); Assert.IsFalse(sessionToken2.IsValid(sessionToken1)); Assert.IsTrue(SimpleSessionToken.TryCreate("100", out sessionToken1)); Assert.IsTrue(SimpleSessionToken.TryCreate("100", out sessionToken2)); Assert.IsTrue(sessionToken1.Merge(sessionToken2).Equals(sessionToken1)); Assert.IsTrue(sessionToken2.Equals(sessionToken1)); Assert.IsTrue(sessionToken1.IsValid(sessionToken2)); Assert.IsTrue(sessionToken2.IsValid(sessionToken1)); }