Skip to content

Commit 1d9c193

Browse files
author
Denis Peshkov
authored
Merge pull request #16 from denis-peshkov/add_unit_tests
add unit tests
2 parents 599887f + 9a25e32 commit 1d9c193

1 file changed

Lines changed: 85 additions & 1 deletion

File tree

tests/TypeScriptDefinitionGenerator.Tests/IntellisenseParserTest.cs

Lines changed: 85 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using System.Linq;
22
using EnvDTE;
3-
using NUnit.Framework;
43
using EnvDTE80;
4+
using NUnit.Framework;
55

66
//using Microsoft.Extensions.Options;
77
//using Ploeh.AutoFixture;
@@ -118,5 +118,89 @@ public void _ShouldWorkProperly()
118118
Assert.AreEqual(false, list[0].Properties[4].Type.IsOptional);
119119
}
120120

121+
[Test]
122+
[Explicit("Can't be run on build server, some problems on build server")]
123+
public void _ShouldWorkProperly2()
124+
{
125+
//Arrange
126+
127+
// get the DTE reference...
128+
DTE2 dte2 = (DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.15.0");
129+
130+
131+
var worker = new SolutionWorker();
132+
worker.ExamineSolution(dte2.Solution);
133+
134+
ProjectItem item = worker.GetProjectItem(dte2.Solution, "SomeClass.cs");
135+
136+
var expectedFile =
137+
"// ------------------------------------------------------------------------------\n" +
138+
"// <auto-generated>\n" +
139+
"// This file was generated by TypeScript Definition Generator v2.2.0.0\n" +
140+
"// </auto-generated>\n" +
141+
"// ------------------------------------------------------------------------------\n" +
142+
"export interface SomeClass {\n" +
143+
" inc1: number;\n" +
144+
" some: SomeEnum;\n" +
145+
"}\n";
146+
147+
//Act
148+
Options.SetOptionsOverrides(new OptionsOverride()
149+
{
150+
CamelCaseEnumerationValues = false,
151+
CamelCasePropertyNames = true,
152+
CamelCaseTypeNames = false,
153+
154+
WebEssentials2015 = false,
155+
156+
ClassInsteadOfInterface = false,
157+
DeclareModule = false,
158+
DefaultModuleName = "Server.Dtos",
159+
EOLType = EOLType.LF,
160+
IgnoreIntellisense = true,
161+
IndentTab = false,
162+
IndentTabSize = 2,
163+
UseNamespace = true,
164+
});
165+
var list = IntellisenseParser.ProcessFile(item).ToList();
166+
var tsFile = IntellisenseWriter.WriteTypeScript(list);
167+
168+
//Assert
169+
Assert.IsNotNull(list);
170+
Assert.NotZero(list.Count);
171+
Assert.AreEqual("ClassLibrary1.SomeClass", list[0].FullName);
172+
Assert.AreEqual("SomeClass", list[0].Name);
173+
Assert.AreEqual(2, list[0].Properties.Count);
174+
175+
Assert.AreEqual("Inc1", list[0].Properties[0].Name);
176+
Assert.AreEqual("Inc1", list[0].Properties[0].NameWithOption);
177+
Assert.AreEqual(null, list[0].Properties[0].InitExpression);
178+
Assert.AreEqual(null, list[0].Properties[0].Summary);
179+
Assert.AreEqual("int", list[0].Properties[0].Type.CodeName);
180+
Assert.AreEqual("number", list[0].Properties[0].Type.TypeScriptName);
181+
Assert.AreEqual("number", list[0].Properties[0].Type.TypeScriptName);
182+
Assert.AreEqual(null, list[0].Properties[0].Type.ClientSideReferenceName);
183+
Assert.AreEqual(false, list[0].Properties[0].Type.IsArray);
184+
Assert.AreEqual(false, list[0].Properties[0].Type.IsDictionary);
185+
Assert.AreEqual(true, list[0].Properties[0].Type.IsKnownType);
186+
Assert.AreEqual(false, list[0].Properties[0].Type.IsOptional);
187+
188+
Assert.AreEqual("Some", list[0].Properties[1].Name);
189+
Assert.AreEqual("Some", list[0].Properties[1].NameWithOption);
190+
Assert.AreEqual(null, list[0].Properties[1].InitExpression);
191+
Assert.AreEqual(null, list[0].Properties[1].Summary);
192+
Assert.AreEqual("ClassLibrary1.SomeEnum", list[0].Properties[1].Type.CodeName);
193+
Assert.AreEqual("SomeEnum", list[0].Properties[1].Type.TypeScriptName);
194+
Assert.AreEqual("SomeEnum", list[0].Properties[1].Type.TypeScriptName);
195+
Assert.AreEqual("SomeEnum", list[0].Properties[1].Type.ClientSideReferenceName);
196+
Assert.AreEqual(false, list[0].Properties[1].Type.IsArray);
197+
Assert.AreEqual(false, list[0].Properties[1].Type.IsDictionary);
198+
Assert.AreEqual(true, list[0].Properties[1].Type.IsKnownType);
199+
Assert.AreEqual(false, list[0].Properties[1].Type.IsOptional);
200+
201+
Assert.AreEqual(expectedFile, tsFile);
202+
203+
}
204+
121205
}
122206
}

0 commit comments

Comments
 (0)