zaaReloaded2/Tests/Importer/ZaaImporter/ZaaImporterTest.cs

56 lines
2.0 KiB
C#
Executable File

/* ZaaImporterTest.cs
* part of zaaReloaded2
*
* Copyright 2015-2018 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 System.IO;
using zaa = zaaReloaded2.Importer.ZaaImporter;
using NUnit.Framework;
namespace Tests.Importer.ZaaImporter
{
[TestFixture]
class ZaaImporterTest
{
/// <summary>
/// Parses the demo-output.txt file that is built into the assembly.
/// Note that this demo text contains seven time points, only six of
/// which are distinct. Thus, the two time points with identical time
/// stamps should be merged in the <see cref="Laboratory"/>.
/// </summary>
[Test]
public void ParseTimePoints()
{
zaa.ZaaImporter importer = TestHelpers.ZaaImporterFromResource();
// Only 6 distinct time points (see method documentation above).
Assert.AreEqual(6, importer.Laboratory.TimePoints.Count);
}
[Test]
public void ParseInvalidInput()
{
zaa.ZaaImporter importer = new zaa.ZaaImporter();
importer.Import("some arbitrary text\r\nthat does not represent\r\na valid lab");
Assert.IsFalse(importer.Success);
importer.Import("(03.03.1930 13:30:00)\r\nKlinische Chemie: Natrium 135 [135 - 145] mmol/l;");
Assert.IsTrue(importer.Success);
}
}
}