IRC parsing, tokenization, and state handling in C#
at ircrobotsv2 31 lines 880 B view raw
1namespace IRCSharp.Tests.State; 2 3public class Sasl 4{ 5 private readonly Server _server = new("test"); 6 7 public Sasl() 8 { 9 _server.Parse(new Line("900 * nick!user@host account")); 10 } 11 12 [Test] 13 public async Task LoggedIn() 14 { 15 await Assert.That(_server.NickName).IsEqualTo("nick"); 16 await Assert.That(_server.UserName).IsEqualTo("user"); 17 await Assert.That(_server.HostName).IsEqualTo("host"); 18 await Assert.That(_server.Account).IsEqualTo("account"); 19 } 20 21 [Test] 22 public async Task LoggedOut() 23 { 24 _server.Parse(new Line("901 * nick1!user1@host1")); 25 26 await Assert.That(_server.NickName).IsEqualTo("nick1"); 27 await Assert.That(_server.UserName).IsEqualTo("user1"); 28 await Assert.That(_server.HostName).IsEqualTo("host1"); 29 await Assert.That(_server.Account).IsNull(); 30 } 31}