/* UnitTest1.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 NUnit.Framework; using zaaReloaded2.Thesaurus; namespace Tests { [TestFixture] class LineParserTest { [Test] public void ParseSimpleLine() { LineParser lp = new LineParser(); lp.Line = "this is a simple line"; Assert.AreEqual("this", lp.Fields[0]); Assert.AreEqual("simple", lp.Fields[3]); } [Test] public void ParseSimpleLineWithComment() { LineParser lp = new LineParser(); lp.Line = "this is a simple line # with a comment"; Assert.AreEqual("this", lp.Fields[0]); Assert.AreEqual("simple", lp.Fields[3]); Assert.AreEqual(5, lp.Fields.Length); } [Test] public void ParseLineWithQuotes() { LineParser lp = new LineParser(); lp.Line = "this \"is a\" simple line"; Assert.AreEqual("simple", lp.Fields[2]); Assert.AreEqual("line", lp.Fields[3]); } [Test] public void ParseLineWithQuotesAndPunctuation() { LineParser lp = new LineParser("this-is \"a , simple ;\" line"); Assert.AreEqual("this-is", lp.Fields[0]); Assert.AreEqual("a , simple ;", lp.Fields[1]); Assert.AreEqual("line", lp.Fields[2]); } [Test] public void ParseLineWithoutFields() { LineParser lp = new LineParser("# no fields"); Assert.IsFalse(lp.HasFields); lp.Line = "two fields"; Assert.IsTrue(lp.HasFields); } } }