diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..257956d
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024 clipperhouse
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/uax29/Buffer.Test.cs b/Tests/Buffer.Test.cs
similarity index 100%
rename from uax29/Buffer.Test.cs
rename to Tests/Buffer.Test.cs
diff --git a/uax29/Examples.Test.cs b/Tests/Examples.Test.cs
similarity index 100%
rename from uax29/Examples.Test.cs
rename to Tests/Examples.Test.cs
diff --git a/uax29/Extensions/Extensions.Test.cs b/Tests/Extensions.Test.cs
similarity index 100%
rename from uax29/Extensions/Extensions.Test.cs
rename to Tests/Extensions.Test.cs
diff --git a/uax29/Graphemes.Test.cs b/Tests/Graphemes.Test.cs
similarity index 100%
rename from uax29/Graphemes.Test.cs
rename to Tests/Graphemes.Test.cs
diff --git a/uax29/RangeEnumerator.Test.cs b/Tests/RangeEnumerator.Test.cs
similarity index 100%
rename from uax29/RangeEnumerator.Test.cs
rename to Tests/RangeEnumerator.Test.cs
diff --git a/uax29/Sentences.Test.cs b/Tests/Sentences.Test.cs
similarity index 100%
rename from uax29/Sentences.Test.cs
rename to Tests/Sentences.Test.cs
diff --git a/uax29/SplitEnumerator.Test.cs b/Tests/SplitEnumerator.Test.cs
similarity index 100%
rename from uax29/SplitEnumerator.Test.cs
rename to Tests/SplitEnumerator.Test.cs
diff --git a/uax29/StreamEnumerator.Test.cs b/Tests/StreamEnumerator.Test.cs
similarity index 100%
rename from uax29/StreamEnumerator.Test.cs
rename to Tests/StreamEnumerator.Test.cs
diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj
new file mode 100644
index 0000000..70944a0
--- /dev/null
+++ b/Tests/Tests.csproj
@@ -0,0 +1,29 @@
+
+
+
+ net8.0
+ enable
+ enable
+ false
+
+
+
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/uax29/Unicode.Test.cs b/Tests/Unicode.Test.cs
similarity index 100%
rename from uax29/Unicode.Test.cs
rename to Tests/Unicode.Test.cs
diff --git a/uax29/Words.Test.cs b/Tests/Words.Test.cs
similarity index 100%
rename from uax29/Words.Test.cs
rename to Tests/Words.Test.cs
diff --git a/uax29.net.sln b/uax29.net.sln
index b51eb3b..6580f46 100644
--- a/uax29.net.sln
+++ b/uax29.net.sln
@@ -9,6 +9,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "uax29", "uax29\uax29.csproj
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Codegen", "Codegen\Codegen.csproj", "{C5D56C4E-7E06-4FD8-B7F8-FE29667A08F7}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj", "{F1CE9A66-098F-4BC4-AA3A-7046C2AC0833}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -27,6 +29,10 @@ Global
{C5D56C4E-7E06-4FD8-B7F8-FE29667A08F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C5D56C4E-7E06-4FD8-B7F8-FE29667A08F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C5D56C4E-7E06-4FD8-B7F8-FE29667A08F7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F1CE9A66-098F-4BC4-AA3A-7046C2AC0833}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F1CE9A66-098F-4BC4-AA3A-7046C2AC0833}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F1CE9A66-098F-4BC4-AA3A-7046C2AC0833}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F1CE9A66-098F-4BC4-AA3A-7046C2AC0833}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/uax29/uax29.csproj b/uax29/uax29.csproj
index ca9331e..0bb24c5 100644
--- a/uax29/uax29.csproj
+++ b/uax29/uax29.csproj
@@ -6,42 +6,18 @@
enable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
- true
-
-
-
-
net8.0
UAX29
2.2.0
clipperhouse
Tokenizes (split) words, graphemes and sentences, based on Unicode text segmentation (UAX #29). https://unicode.org/reports/tr29/
-
+ MIT
+ https://github.com/clipperhouse/uax29.net
https://github.com/clipperhouse/uax29.net
README.md
@@ -50,7 +26,8 @@
-
-
+
+
+