Working comments with CommentPool.
This commit is contained in:
60
Tests/Controller/Comments/CommentPoolTest.cs
Executable file
60
Tests/Controller/Comments/CommentPoolTest.cs
Executable file
@ -0,0 +1,60 @@
|
||||
/* CommentPoolTest.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 zaaReloaded2.Controller.Comments;
|
||||
|
||||
namespace Tests.Controller.Comments
|
||||
{
|
||||
[TestFixture]
|
||||
class CommentPoolTest
|
||||
{
|
||||
[Test]
|
||||
public void CreateCommentIfDoesNotExist()
|
||||
{
|
||||
int n = CommentPool.Default.Count;
|
||||
ItemComment i = CommentPool.Default.GetCommentFor("item \"<>\"");
|
||||
Assert.AreEqual(n + 1, CommentPool.Default.Count);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ReturnExistingComment()
|
||||
{
|
||||
ItemComment i = CommentPool.Default.GetCommentFor("item \"<>\"");
|
||||
int n = CommentPool.Default.Count;
|
||||
i = CommentPool.Default.GetCommentFor("item \"<>\"");
|
||||
Assert.AreEqual(n, CommentPool.Default.Count);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void BuildingCommentRaisesEvent()
|
||||
{
|
||||
ItemComment i = CommentPool.Default.GetCommentFor("item \"<>\"");
|
||||
bool eventRaised = false;
|
||||
CommentPool.Default.FillInComment += (sender, args) =>
|
||||
{
|
||||
eventRaised = true;
|
||||
};
|
||||
string comment = i.BuildComment();
|
||||
Assert.IsTrue(eventRaised);
|
||||
}
|
||||
}
|
||||
}
|
58
Tests/Controller/Comments/ItemCommentTest.cs
Executable file
58
Tests/Controller/Comments/ItemCommentTest.cs
Executable file
@ -0,0 +1,58 @@
|
||||
/* ItemCommentTest.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 zaaReloaded2.Formatter;
|
||||
using zaaReloaded2.Controller.Comments;
|
||||
|
||||
namespace Tests.Controller.Comments
|
||||
{
|
||||
[TestFixture]
|
||||
class ItemCommentTest
|
||||
{
|
||||
[Test]
|
||||
public void FactoryWithGoodDefinition()
|
||||
{
|
||||
ItemComment i = ItemComment.FromDefinitionString("TAC \"(Zielbereich: <4-7> µg/l)\"");
|
||||
Assert.IsNotNull(i);
|
||||
Assert.AreEqual("(Zielbereich: ", i.Prefix);
|
||||
Assert.AreEqual("4-7", i.Value);
|
||||
Assert.AreEqual(" µg/l)", i.Suffix);
|
||||
Assert.AreEqual("TAC", i.Item);
|
||||
Assert.AreEqual("(Zielbereich: 4-7 µg/l)", i.BuildComment());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void FactoryWithBadDefinition()
|
||||
{
|
||||
ItemComment i = ItemComment.FromDefinitionString("some bogus definition");
|
||||
Assert.IsNull(i);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void EmptyValueProducesEmptyComment()
|
||||
{
|
||||
ItemComment i = ItemComment.FromDefinitionString("TAC \"(Zielbereich: <default> µg/l)\"");
|
||||
i.Value = String.Empty;
|
||||
Assert.AreEqual(String.Empty, i.BuildComment());
|
||||
}
|
||||
}
|
||||
}
|
@ -24,7 +24,9 @@ using Microsoft.Office.Interop.Word;
|
||||
using zaaReloaded2.LabModel;
|
||||
using zaaReloaded2.Formatter;
|
||||
using zaa = zaaReloaded2.Controller.Elements;
|
||||
using zaaReloaded2.Controller.Comments;
|
||||
using System.Text.RegularExpressions;
|
||||
using zaaReloaded2.Controller.Comments;
|
||||
|
||||
namespace Tests.Controller.Elements
|
||||
{
|
||||
@ -203,6 +205,35 @@ namespace Tests.Controller.Elements
|
||||
Assert.AreEqual(expected, _document.Range().Text);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ItemCommentWithHandler()
|
||||
{
|
||||
Laboratory lab = new Laboratory();
|
||||
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"));
|
||||
lab.AddTimePoint(tp);
|
||||
|
||||
_formatter.Laboratory = lab;
|
||||
_formatter.Settings.Elements.Add(
|
||||
new zaa.Items("Na \"(Zielbereich: <default> µg/l)\""));
|
||||
bool messageSent = false;
|
||||
CommentPool.Default.FillInComment += (sender, args) =>
|
||||
{
|
||||
messageSent = true;
|
||||
args.Comment.Value = "4-7";
|
||||
};
|
||||
_formatter.Run();
|
||||
Assert.IsTrue(messageSent, "FillInComment message was not sent");
|
||||
string expected = (
|
||||
StripMarkup(
|
||||
TimePointFormatter.DateAndTimeHeader(new DateTime(2015, 07, 13, 13, 31, 00)) +
|
||||
"Na 133 (Zielbereich: 4-7 µg/l)\r\r").Replace(Environment.NewLine, "\r")
|
||||
);
|
||||
Assert.AreEqual(expected, _document.Range().Text);
|
||||
}
|
||||
|
||||
static string StripMarkup(string s)
|
||||
{
|
||||
return _markupStripper.Replace(s, string.Empty);
|
||||
|
Reference in New Issue
Block a user