diff --git a/capnpc-csharp.tests/Resources/UnitTest1.capnp.bin b/capnpc-csharp.tests/Embedded Resources/UnitTest1.capnp.bin
similarity index 100%
rename from capnpc-csharp.tests/Resources/UnitTest1.capnp.bin
rename to capnpc-csharp.tests/Embedded Resources/UnitTest1.capnp.bin
diff --git a/capnpc-csharp.tests/Resources/UnitTest10.capnp.bin b/capnpc-csharp.tests/Embedded Resources/UnitTest10.capnp.bin
similarity index 100%
rename from capnpc-csharp.tests/Resources/UnitTest10.capnp.bin
rename to capnpc-csharp.tests/Embedded Resources/UnitTest10.capnp.bin
diff --git a/capnpc-csharp.tests/Resources/UnitTest11.capnp.bin b/capnpc-csharp.tests/Embedded Resources/UnitTest11.capnp.bin
similarity index 100%
rename from capnpc-csharp.tests/Resources/UnitTest11.capnp.bin
rename to capnpc-csharp.tests/Embedded Resources/UnitTest11.capnp.bin
diff --git a/capnpc-csharp.tests/Resources/UnitTest2.capnp.bin b/capnpc-csharp.tests/Embedded Resources/UnitTest2.capnp.bin
similarity index 100%
rename from capnpc-csharp.tests/Resources/UnitTest2.capnp.bin
rename to capnpc-csharp.tests/Embedded Resources/UnitTest2.capnp.bin
diff --git a/capnpc-csharp.tests/Resources/UnitTest20.capnp.bin b/capnpc-csharp.tests/Embedded Resources/UnitTest20.capnp.bin
similarity index 100%
rename from capnpc-csharp.tests/Resources/UnitTest20.capnp.bin
rename to capnpc-csharp.tests/Embedded Resources/UnitTest20.capnp.bin
diff --git a/capnpc-csharp.tests/Resources/UnitTest3.capnp.bin b/capnpc-csharp.tests/Embedded Resources/UnitTest3.capnp.bin
similarity index 100%
rename from capnpc-csharp.tests/Resources/UnitTest3.capnp.bin
rename to capnpc-csharp.tests/Embedded Resources/UnitTest3.capnp.bin
diff --git a/capnpc-csharp.tests/Resources/UnitTest4.capnp.bin b/capnpc-csharp.tests/Embedded Resources/UnitTest4.capnp.bin
similarity index 100%
rename from capnpc-csharp.tests/Resources/UnitTest4.capnp.bin
rename to capnpc-csharp.tests/Embedded Resources/UnitTest4.capnp.bin
diff --git a/capnpc-csharp.tests/Resources/schema-with-offsets.capnp.bin b/capnpc-csharp.tests/Embedded Resources/schema-with-offsets.capnp.bin
similarity index 100%
rename from capnpc-csharp.tests/Resources/schema-with-offsets.capnp.bin
rename to capnpc-csharp.tests/Embedded Resources/schema-with-offsets.capnp.bin
diff --git a/capnpc-csharp.tests/FeatureSteps/CodeGeneratorSteps.cs b/capnpc-csharp.tests/FeatureSteps/CodeGeneratorSteps.cs
index 366c0e3..4d3a893 100644
--- a/capnpc-csharp.tests/FeatureSteps/CodeGeneratorSteps.cs
+++ b/capnpc-csharp.tests/FeatureSteps/CodeGeneratorSteps.cs
@@ -1,5 +1,4 @@
-using capnpc_csharp.Tests.Properties;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.IO;
using System.Reflection;
@@ -17,7 +16,7 @@ namespace capnpc_csharp.Tests
bool _success;
Exception _generateException;
- Stream LoadResource(string name)
+ internal static Stream LoadResource(string name)
{
var assembly = Assembly.GetExecutingAssembly();
string[] names = assembly.GetManifestResourceNames();
diff --git a/capnpc-csharp.tests/Properties/Resources.Designer.cs b/capnpc-csharp.tests/Properties/Resources.Designer.cs
deleted file mode 100644
index 336b474..0000000
--- a/capnpc-csharp.tests/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,143 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// Dieser Code wurde von einem Tool generiert.
-// Laufzeitversion:4.0.30319.42000
-//
-// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
-// der Code erneut generiert wird.
-//
-//------------------------------------------------------------------------------
-
-namespace capnpc_csharp.Tests.Properties {
- using System;
-
-
- ///
- /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
- ///
- // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
- // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
- // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
- // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- ///
- /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("capnpc_csharp.Tests.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
- /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
-
- ///
- /// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
- ///
- internal static byte[] schema_with_offsets_capnp {
- get {
- object obj = ResourceManager.GetObject("schema_with_offsets_capnp", resourceCulture);
- return ((byte[])(obj));
- }
- }
-
- ///
- /// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
- ///
- internal static byte[] UnitTest1_capnp {
- get {
- object obj = ResourceManager.GetObject("UnitTest1_capnp", resourceCulture);
- return ((byte[])(obj));
- }
- }
-
- ///
- /// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
- ///
- internal static byte[] UnitTest10_capnp {
- get {
- object obj = ResourceManager.GetObject("UnitTest10_capnp", resourceCulture);
- return ((byte[])(obj));
- }
- }
-
- ///
- /// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
- ///
- internal static byte[] UnitTest11_capnp {
- get {
- object obj = ResourceManager.GetObject("UnitTest11_capnp", resourceCulture);
- return ((byte[])(obj));
- }
- }
-
- ///
- /// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
- ///
- internal static byte[] UnitTest2_capnp {
- get {
- object obj = ResourceManager.GetObject("UnitTest2_capnp", resourceCulture);
- return ((byte[])(obj));
- }
- }
-
- ///
- /// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
- ///
- internal static byte[] UnitTest20_capnp {
- get {
- object obj = ResourceManager.GetObject("UnitTest20_capnp", resourceCulture);
- return ((byte[])(obj));
- }
- }
-
- ///
- /// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
- ///
- internal static byte[] UnitTest3_capnp {
- get {
- object obj = ResourceManager.GetObject("UnitTest3_capnp", resourceCulture);
- return ((byte[])(obj));
- }
- }
-
- ///
- /// Sucht eine lokalisierte Ressource vom Typ System.Byte[].
- ///
- internal static byte[] UnitTest4_capnp {
- get {
- object obj = ResourceManager.GetObject("UnitTest4_capnp", resourceCulture);
- return ((byte[])(obj));
- }
- }
- }
-}
diff --git a/capnpc-csharp.tests/Properties/Resources.resx b/capnpc-csharp.tests/Properties/Resources.resx
deleted file mode 100644
index b4ecfef..0000000
--- a/capnpc-csharp.tests/Properties/Resources.resx
+++ /dev/null
@@ -1,145 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
- ..\Resources\UnitTest10.capnp.bin;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\UnitTest20.capnp.bin;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\UnitTest3.capnp.bin;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\UnitTest2.capnp.bin;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\UnitTest1.capnp.bin;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\schema-with-offsets.capnp.bin;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\UnitTest11.capnp.bin;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- ..\Resources\UnitTest4.capnp.bin;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/capnpc-csharp.tests/Resources/test.capnp.bin b/capnpc-csharp.tests/Resources/test.capnp.bin
deleted file mode 100644
index 66c8d13..0000000
Binary files a/capnpc-csharp.tests/Resources/test.capnp.bin and /dev/null differ
diff --git a/capnpc-csharp.tests/UnitTests.cs b/capnpc-csharp.tests/UnitTests.cs
index f7d59fd..e2b80d5 100644
--- a/capnpc-csharp.tests/UnitTests.cs
+++ b/capnpc-csharp.tests/UnitTests.cs
@@ -1,29 +1,30 @@
-using capnpc_csharp.Tests.Properties;
using Capnp;
+using Model = CapnpC.Model;
+using Generator = CapnpC.Generator;
+using CodeGeneratorRequest = CapnpC.Schema.CodeGeneratorRequest;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
-using System.IO;
using System.Linq;
-namespace CapnpC
+namespace capnpc_csharp.Tests
{
[TestClass]
- public class UnitTests
+ public class CodeGeneratorUnitTests
{
static readonly Dictionary GeneratedCode = new Dictionary();
[TestMethod]
public void Test00Enumerant()
{
- var model = Load(Resources.UnitTest1_capnp);
+ var model = Load("UnitTest1.capnp.bin");
Assert.AreEqual("@byte", GetTypeDef(0xc8461867c409f5d4, model).Enumerants[0].Literal);
}
[TestMethod]
public void Test01NestedClash()
{
- var run = LoadAndGenerate(Resources.UnitTest1_capnp, 1);
+ var run = LoadAndGenerate("UnitTest1.capnp.bin", 1);
var structFoo = GetTypeDef(0x93db6ba5509bac24, run.Model);
var names = run.CodeGen.GetNames();
var fieldName = names.GetCodeIdentifier(structFoo.Fields[0]).ToString();
@@ -34,28 +35,28 @@ namespace CapnpC
[TestMethod]
public void Test02ForwardInheritance()
{
- LoadAndGenerate(Resources.UnitTest2_capnp, 2);
+ LoadAndGenerate("UnitTest2.capnp.bin", 2);
// Should not throw
}
[TestMethod]
public void Test03NonGeneratedNodeSkip()
{
- LoadAndGenerate(Resources.UnitTest3_capnp, 3);
+ LoadAndGenerate("UnitTest3.capnp.bin", 3);
// Should not throw
}
[TestMethod]
public void Test04MutualDependencies()
{
- LoadAndGenerate(Resources.UnitTest4_capnp, 4);
+ LoadAndGenerate("UnitTest4.capnp.bin", 4);
// Should not throw
}
[TestMethod]
public void Test10ImportedNamespaces()
{
- var run = LoadAndGenerate(Resources.UnitTest10_capnp, 10);
+ var run = LoadAndGenerate("UnitTest10.capnp.bin", 10);
var outerTypeDef = run.FirstFile.NestedTypes.First();
var outerType = Model.Types.FromDefinition(outerTypeDef);
var innerType = outerTypeDef.Fields[0].Type;
@@ -76,21 +77,21 @@ namespace CapnpC
[TestMethod]
public void Test11ImportedConst()
{
- LoadAndGenerate(Resources.UnitTest11_capnp, 11);
+ LoadAndGenerate("UnitTest11.capnp.bin", 11);
// Should not throw
}
[TestMethod]
public void Test20AnnotationAndConst()
{
- LoadAndGenerate(Resources.UnitTest20_capnp, 20);
+ LoadAndGenerate("UnitTest20.capnp.bin", 20);
// Should not throw
}
[TestMethod]
public void Test30SchemaCapnp()
{
- LoadAndGenerate(Resources.schema_with_offsets_capnp);
+ LoadAndGenerate("schema-with-offsets.capnp.bin");
// Should not throw
}
@@ -105,10 +106,10 @@ namespace CapnpC
static Generator.CodeGenerator NewGeneratorFor(Model.SchemaModel model)
=> new Generator.CodeGenerator(model, new Generator.GeneratorOptions());
- Run LoadAndGenerate(byte[] input, int? testNum = null)
+ Run LoadAndGenerate(string inputName, int? testNum = null)
{
var run = new Run();
- run.Model = Load(input);
+ run.Model = Load(inputName);
run.CodeGen = NewGeneratorFor(run.Model);
run.FirstFile = run.Model.FilesToGenerate.First();
run.Code = run.CodeGen.Transform(run.FirstFile);
@@ -137,16 +138,16 @@ namespace CapnpC
return null;
}
- static Model.SchemaModel Load(byte[] data)
+ static Model.SchemaModel Load(string inputName)
{
WireFrame segments;
- var input = new MemoryStream(data);
+ var input = CodeGeneratorSteps.LoadResource(inputName);
using (input)
{
segments = Framing.ReadSegments(input);
}
var dec = DeserializerState.CreateRoot(segments);
- var reader = Schema.CodeGeneratorRequest.Reader.Create(dec);
+ var reader = CodeGeneratorRequest.Reader.Create(dec);
var model = Model.SchemaModel.Create(reader);
return model;
}
diff --git a/capnpc-csharp.tests/capnpc-csharp.tests.csproj b/capnpc-csharp.tests/capnpc-csharp.tests.csproj
index ebe9366..ce9a24e 100644
--- a/capnpc-csharp.tests/capnpc-csharp.tests.csproj
+++ b/capnpc-csharp.tests/capnpc-csharp.tests.csproj
@@ -23,7 +23,6 @@
-
@@ -38,21 +37,14 @@
-
-
-
-
- True
- True
- Resources.resx
-
-
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
-
+
+
+
+
+
+
+
+