IRC parsing, tokenization, and state handling in C#

rename test folders

+22 -23
-1
IRCRobots/ConnectionParams.cs
··· 1 1 using System.Collections.Generic; 2 2 3 - #nullable enable 4 3 namespace IRCRobots 5 4 { 6 5 public class ConnectionParams
+1 -1
IRCSharp.Tests/IRCSharp.Tests.csproj
··· 23 23 </ItemGroup> 24 24 25 25 <ItemGroup> 26 - <None Update="Tokenization\Data\msg-*.yaml"> 26 + <None Update="Tokens\Data\msg-*.yaml"> 27 27 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 28 28 </None> 29 29 </ItemGroup>
+1 -1
IRCSharp.Tests/State/Cap.cs IRCSharp.Tests/States/Cap.cs
··· 1 - namespace IRCSharp.Tests.State; 1 + namespace IRCSharp.Tests.States; 2 2 3 3 [TestClass] 4 4 public class Cap
+1 -1
IRCSharp.Tests/State/Casemap.cs IRCSharp.Tests/States/Casemap.cs
··· 1 1 // ReSharper disable IdentifierTypo 2 2 // ReSharper disable StringLiteralTypo 3 - namespace IRCSharp.Tests.State; 3 + namespace IRCSharp.Tests.States; 4 4 5 5 [TestClass] 6 6 public class Casemap
+1 -1
IRCSharp.Tests/State/Channel.cs IRCSharp.Tests/States/Channel.cs
··· 1 - namespace IRCSharp.Tests.State; 1 + namespace IRCSharp.Tests.States; 2 2 3 3 [TestClass] 4 4 public class Channel
+1 -1
IRCSharp.Tests/State/Emit.cs IRCSharp.Tests/States/Emit.cs
··· 1 - namespace IRCSharp.Tests.State; 1 + namespace IRCSharp.Tests.States; 2 2 3 3 [TestClass] 4 4 public class Emit
+1 -1
IRCSharp.Tests/State/ISupport.cs IRCSharp.Tests/States/ISupport.cs
··· 1 1 // ReSharper disable InconsistentNaming 2 2 // ReSharper disable StringLiteralTypo 3 - namespace IRCSharp.Tests.State; 3 + namespace IRCSharp.Tests.States; 4 4 5 5 [TestClass] 6 6 public class ISupport
+1 -1
IRCSharp.Tests/State/Mode.cs IRCSharp.Tests/States/Mode.cs
··· 1 1 // ReSharper disable StringLiteralTypo 2 - namespace IRCSharp.Tests.State; 2 + namespace IRCSharp.Tests.States; 3 3 4 4 [TestClass] 5 5 public class Mode
+1 -1
IRCSharp.Tests/State/Motd.cs IRCSharp.Tests/States/Motd.cs
··· 1 - namespace IRCSharp.Tests.State; 1 + namespace IRCSharp.Tests.States; 2 2 3 3 [TestClass] 4 4 public class Motd
+1 -1
IRCSharp.Tests/State/Sasl.cs IRCSharp.Tests/States/Sasl.cs
··· 1 - namespace IRCSharp.Tests.State; 1 + namespace IRCSharp.Tests.States; 2 2 3 3 [TestClass] 4 4 public class Sasl
+1 -1
IRCSharp.Tests/State/User.cs IRCSharp.Tests/States/User.cs
··· 1 - namespace IRCSharp.Tests.State; 1 + namespace IRCSharp.Tests.States; 2 2 3 3 [TestClass] 4 4 public class User
+1 -1
IRCSharp.Tests/State/Who.cs IRCSharp.Tests/States/Who.cs
··· 1 1 // ReSharper disable StringLiteralTypo 2 - namespace IRCSharp.Tests.State; 2 + namespace IRCSharp.Tests.States; 3 3 4 4 [TestClass] 5 5 public class Who
+1 -1
IRCSharp.Tests/Tokenization/Data/JoinModel.cs IRCSharp.Tests/Tokens/Data/JoinModel.cs
··· 1 1 using YamlDotNet.Serialization; 2 2 3 - namespace IRCSharp.Tests.Tokenization.Data; 3 + namespace IRCSharp.Tests.Tokens.Data; 4 4 5 5 public class JoinModel 6 6 {
+1 -1
IRCSharp.Tests/Tokenization/Data/SplitModel.cs IRCSharp.Tests/Tokens/Data/SplitModel.cs
··· 1 - namespace IRCSharp.Tests.Tokenization.Data; 1 + namespace IRCSharp.Tests.Tokens.Data; 2 2 3 3 public class SplitModel 4 4 {
IRCSharp.Tests/Tokenization/Data/msg-join.yaml IRCSharp.Tests/Tokens/Data/msg-join.yaml
IRCSharp.Tests/Tokenization/Data/msg-split.yaml IRCSharp.Tests/Tokens/Data/msg-split.yaml
+1 -1
IRCSharp.Tests/Tokenization/Format.cs IRCSharp.Tests/Tokens/Format.cs
··· 1 1 // ReSharper disable StringLiteralTypo 2 - namespace IRCSharp.Tests.Tokenization; 2 + namespace IRCSharp.Tests.Tokens; 3 3 4 4 [TestClass] 5 5 public class Format
+1 -1
IRCSharp.Tests/Tokenization/Hostmask.cs IRCSharp.Tests/Tokens/Hostmask.cs
··· 1 - namespace IRCSharp.Tests.Tokenization; 1 + namespace IRCSharp.Tests.Tokens; 2 2 3 3 [TestClass] 4 4 public class Hostmask
+4 -4
IRCSharp.Tests/Tokenization/Parser.cs IRCSharp.Tests/Tokens/Parser.cs
··· 1 1 using System.Globalization; 2 - using IRCSharp.Tests.Tokenization.Data; 2 + using IRCSharp.Tests.Tokens.Data; 3 3 using YamlDotNet.Serialization; 4 4 using YamlDotNet.Serialization.NamingConventions; 5 5 6 - namespace IRCSharp.Tests.Tokenization; 6 + namespace IRCSharp.Tests.Tokens; 7 7 8 8 [TestClass] 9 9 public class Parser ··· 20 20 [TestMethod] 21 21 public void Split() 22 22 { 23 - foreach (var test in LoadYaml<SplitModel>("Tokenization/Data/msg-split.yaml").Tests) 23 + foreach (var test in LoadYaml<SplitModel>("Tokens/Data/msg-split.yaml").Tests) 24 24 { 25 25 var tokens = new Line(test.Input); 26 26 var atoms = test.Atoms; ··· 37 37 [TestMethod] 38 38 public void Join() 39 39 { 40 - foreach (var test in LoadYaml<JoinModel>("Tokenization/Data/msg-join.yaml").Tests) 40 + foreach (var test in LoadYaml<JoinModel>("Tokens/Data/msg-join.yaml").Tests) 41 41 { 42 42 var atoms = test.Atoms; 43 43 var line = new Line
+1 -1
IRCSharp.Tests/Tokenization/StatefulDecoder.cs IRCSharp.Tests/Tokens/StatefulDecoder.cs
··· 1 - namespace IRCSharp.Tests.Tokenization; 1 + namespace IRCSharp.Tests.Tokens; 2 2 3 3 [TestClass] 4 4 public class StatefulDecoder
+1 -1
IRCSharp.Tests/Tokenization/StatefulEncoder.cs IRCSharp.Tests/Tokens/StatefulEncoder.cs
··· 1 - namespace IRCSharp.Tests.Tokenization; 1 + namespace IRCSharp.Tests.Tokens; 2 2 3 3 [TestClass] 4 4 public class StatefulEncoder
+1 -1
IRCSharp.Tests/Tokenization/Tokenization.cs IRCSharp.Tests/Tokens/Tokenization.cs
··· 1 - namespace IRCSharp.Tests.Tokenization; 1 + namespace IRCSharp.Tests.Tokens; 2 2 3 3 [TestClass] 4 4 public class Tokenization