public void TestGetInitialResponse() { using (var client = new PlainMechanism()) { Assert.AreEqual(SaslExchangeStatus.None, client.ExchangeStatus); Assert.IsTrue(client.ClientFirst); client.Credential = new NetworkCredential("test", "test", "test"); byte[] initialResponse; Assert.AreEqual(SaslExchangeStatus.Succeeded, client.GetInitialResponse(out initialResponse)); Assert.AreEqual(SaslExchangeStatus.Succeeded, client.ExchangeStatus); BytesAssert.AreEqual(Convert.FromBase64String("dGVzdAB0ZXN0AHRlc3Q="), initialResponse); try { byte[] clientResponse; client.Exchange(new byte[0], out clientResponse); Assert.Fail("InvalidOperationException not thrown"); } catch (InvalidOperationException) { } } }