public void AuthenticatorGetsChallengeMessage()
        {
            WampClientPlayground playground = new WampClientPlayground();

            CustomAuthenticator authenticator =
                new CustomAuthenticator
            {
                AuthenticationId      = "peter",
                AuthenticationMethods = new string[] { "ticket" }
            };

            MyChallengeDetails myChallengeDetails = new MyChallengeDetails()
            {
                MyNumber = 3
            };

            ChallengeMock mock =
                new ChallengeMock("ticket",
                                  myChallengeDetails);

            JTokenJsonBinding jsonBinding = new JTokenJsonBinding();

            IWampChannel channel =
                playground.GetChannel
                    (mock,
                    "realm1",
                    jsonBinding,
                    authenticator);

            channel.Open();

            Assert.That(authenticator.AuthMethod, Is.EqualTo("ticket"));

            Assert.That(authenticator.Extra.OriginalValue.Deserialize <MyChallengeDetails>(),
                        Is.EqualTo(myChallengeDetails));
        }
 protected bool Equals(MyChallengeDetails other)
 {
     return(MyNumber == other.MyNumber);
 }