Add formatter and initial tests.
This commit is contained in:
84
Tests/Formatter/Elements/ItemsTest.cs
Executable file
84
Tests/Formatter/Elements/ItemsTest.cs
Executable file
@ -0,0 +1,84 @@
|
||||
/* ItemsTest.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using NUnit.Framework;
|
||||
using Microsoft.Office.Interop.Word;
|
||||
using zaaReloaded2.LabModel;
|
||||
using zaaReloaded2.Formatter;
|
||||
using zaa = zaaReloaded2.Formatter.Elements;
|
||||
|
||||
namespace Tests.Formatter.Elements
|
||||
{
|
||||
[TestFixture]
|
||||
class ItemsTest
|
||||
{
|
||||
[Test]
|
||||
public void ItemsTestWithoutCaption()
|
||||
{
|
||||
zaa.Items i = new zaa.Items("Na, K, Cl");
|
||||
TimePoint tp = new TimePoint();
|
||||
tp.TimeStamp = new DateTime(2015, 7, 13, 13, 31, 00);
|
||||
tp.AddItem(new LabItem("Na", "133", "133"));
|
||||
tp.AddItem(new LabItem("K", "6", "5"));
|
||||
// We do not add a 'Cl' item, and it should not appear in output.
|
||||
TimePointFormatter tpf = new TimePointFormatter(tp, ReferenceStyle.IfAbnormal);
|
||||
TimePointFormatterDictionary tpfd = new TimePointFormatterDictionary();
|
||||
tpfd.Add(tpf.TimeStamp, tpf);
|
||||
Document document = new Document();
|
||||
i.WriteToDocument(document, tpfd);
|
||||
Assert.AreEqual("Na 133, K 6 (5)\r", document.Range().Text);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ItemsTestWithCaption()
|
||||
{
|
||||
zaa.Items i = new zaa.Items("Klinische Chemie: Na, K, Cl");
|
||||
TimePoint tp = new TimePoint();
|
||||
tp.TimeStamp = new DateTime(2015, 7, 13, 13, 31, 00);
|
||||
tp.AddItem(new LabItem("Na", "133", ""));
|
||||
tp.AddItem(new LabItem("K", "6", "5"));
|
||||
// We do not add a 'Cl' item, and it should not appear in output.
|
||||
TimePointFormatter tpf = new TimePointFormatter(tp, ReferenceStyle.IfAbnormal);
|
||||
TimePointFormatterDictionary tpfd = new TimePointFormatterDictionary();
|
||||
tpfd.Add(tpf.TimeStamp, tpf);
|
||||
Document document = new Document();
|
||||
i.WriteToDocument(document, tpfd);
|
||||
Assert.AreEqual("Klinische Chemie: Na 133, K 6 (5)\r", document.Range().Text);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ItemsTestWithCaptionButNoItems()
|
||||
{
|
||||
zaa.Items i = new zaa.Items("Klinische Chemie: this, does, not, exist");
|
||||
TimePoint tp = new TimePoint();
|
||||
tp.TimeStamp = new DateTime(2015, 7, 13, 13, 31, 00);
|
||||
tp.AddItem(new LabItem("Na", "133", ""));
|
||||
tp.AddItem(new LabItem("K", "6", "5"));
|
||||
// We do not add a 'Cl' item, and it should not appear in output.
|
||||
TimePointFormatter tpf = new TimePointFormatter(tp, ReferenceStyle.IfAbnormal);
|
||||
TimePointFormatterDictionary tpfd = new TimePointFormatterDictionary();
|
||||
tpfd.Add(tpf.TimeStamp, tpf);
|
||||
Document document = new Document();
|
||||
i.WriteToDocument(document, tpfd);
|
||||
Assert.AreEqual("\r", document.Range().Text);
|
||||
}
|
||||
}
|
||||
}
|
45
Tests/Formatter/FormatterTest.cs
Executable file
45
Tests/Formatter/FormatterTest.cs
Executable file
@ -0,0 +1,45 @@
|
||||
/* FormatterTest.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using NUnit.Framework;
|
||||
using f = zaaReloaded2.Formatter;
|
||||
using zaaReloaded2.LabModel;
|
||||
using zaaReloaded2.Importer.ZaaImporter;
|
||||
using Microsoft.Office.Interop.Word;
|
||||
|
||||
namespace Tests.Formatter
|
||||
{
|
||||
[TestFixture]
|
||||
class FormatterTest
|
||||
{
|
||||
[Test]
|
||||
public void FormatLaboratory()
|
||||
{
|
||||
ZaaImporter importer = TestHelpers.ZaaImporterFromResource();
|
||||
f.Formatter formatter = new f.Formatter();
|
||||
formatter.Laboratory = importer.Laboratory;
|
||||
formatter.Elements.Add(new f.Elements.Items("Klinische Chemie: Na, K, Cl"));
|
||||
Document document = new Document();
|
||||
formatter.WriteToDocument(document);
|
||||
Assert.AreEqual("Klinische Chemie: Na: 132 mmol/l", document.Range().Text);
|
||||
}
|
||||
}
|
||||
}
|
@ -37,11 +37,7 @@ namespace Tests.Importer.ZaaImporter
|
||||
[Test]
|
||||
public void ParseTimePoints()
|
||||
{
|
||||
Stream s = this.GetType().Assembly.GetManifestResourceStream("Tests.demo-output.txt");
|
||||
StreamReader r = new StreamReader(s);
|
||||
zaa.ZaaImporter importer = new zaa.ZaaImporter();
|
||||
importer.Import(r.ReadToEnd());
|
||||
|
||||
zaa.ZaaImporter importer = TestHelpers.ZaaImporterFromResource();
|
||||
// Only 6 distinct time points (see method documentation above).
|
||||
Assert.AreEqual(6, importer.Laboratory.TimePoints.Count);
|
||||
}
|
||||
|
42
Tests/TestHelpers.cs
Executable file
42
Tests/TestHelpers.cs
Executable file
@ -0,0 +1,42 @@
|
||||
/* TestHelpers.cs
|
||||
* part of zaaReloaded2
|
||||
*
|
||||
* Copyright 2015 Daniel Kraus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using zaaReloaded2.Importer.ZaaImporter;
|
||||
|
||||
namespace Tests
|
||||
{
|
||||
class TestHelpers
|
||||
{
|
||||
/// <summary>
|
||||
/// Creates a ZaaImporter object and imports demo-output.txt.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static ZaaImporter ZaaImporterFromResource()
|
||||
{
|
||||
Stream s = typeof(TestHelpers).Assembly.GetManifestResourceStream("Tests.demo-output.txt");
|
||||
StreamReader r = new StreamReader(s);
|
||||
ZaaImporter importer = new ZaaImporter();
|
||||
importer.Import(r.ReadToEnd());
|
||||
return importer;
|
||||
}
|
||||
}
|
||||
}
|
@ -41,6 +41,9 @@
|
||||
<AssemblyOriginatorKeyFile>zaaReloaded2.pfx</AssemblyOriginatorKeyFile>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.Office.Interop.Word, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
|
||||
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||
</Reference>
|
||||
<Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
|
||||
@ -64,6 +67,8 @@
|
||||
</Choose>
|
||||
<ItemGroup>
|
||||
<Compile Include="Dictionaries\DictionaryTest.cs" />
|
||||
<Compile Include="Formatter\Elements\ItemsTest.cs" />
|
||||
<Compile Include="Formatter\FormatterTest.cs" />
|
||||
<Compile Include="Importer\ZaaImporter\LaurisItemTest.cs" />
|
||||
<Compile Include="Importer\ZaaImporter\LaurisParagraphTest.cs" />
|
||||
<Compile Include="Importer\ZaaImporter\ZaaImporterTest.cs" />
|
||||
@ -71,6 +76,7 @@
|
||||
<Compile Include="LineParserTest.cs" />
|
||||
<Compile Include="Dictionaries\TestDictionary.cs" />
|
||||
<Compile Include="Importer\ZaaImporter\TimePointTest.cs" />
|
||||
<Compile Include="TestHelpers.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
@ -89,6 +95,7 @@
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="demo-output.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Choose>
|
||||
<When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
|
||||
<ItemGroup>
|
||||
|
Reference in New Issue
Block a user