using GCHR.Model; using NUnit.Framework; namespace GCHR.Tests { [TestFixture] class PeriodeTest { [Test] public void StandardwerteFuerBeliebigePeriode() { var periode = new Periode("201309"); Assert.AreEqual("01", Periode.ErsterMonatImGeschaeftsjahr); Assert.IsNotNull(Periode.Dateipfade); Assert.AreEqual("2013", periode.Jahr); Assert.AreEqual("13", periode.JahrZweistellig); Assert.AreEqual("09", periode.Monat); Assert.AreEqual("201309", periode.ToString()); Assert.AreEqual("09/2013", periode.Klartext); Assert.AreEqual("export\\2013\\export_2013-09_balance.txt", periode.BalanceDatei); Assert.AreEqual("export\\2013\\export_2013-09_accounts.txt", periode.AccountsDatei); Assert.AreEqual("export\\2013\\export_2013-09_info.log", periode.LogDatei); Assert.AreEqual("export\\2013\\export_2013-09_protokoll.csv", periode.ProtokollDatei); } [Test] public void VorgaengerUndNachfolger() { var periode = new Periode("201202"); Assert.AreEqual("201203", periode.Nachfolger.ToString()); Assert.AreEqual("201204", periode.Nachfolger.Nachfolger.ToString()); Assert.AreEqual("201201", periode.Vorgaenger.ToString()); Assert.AreEqual("201112", periode.Vorgaenger.Vorgaenger.ToString()); } [Test] public void Vormonat() { var periode = new Periode("200912"); Assert.AreEqual("200912", periode.Vormonat(0)); Assert.AreEqual("200911", periode.Vormonat(1)); Assert.AreEqual("200910", periode.Vormonat(2)); Assert.AreEqual("201001", periode.Vormonat(-1)); } [Test] public void JahresbeginnUndBilanzbeginn() { var periode = new Periode("201307"); Assert.AreEqual("201301", periode.Jahresbeginn.ToString()); Assert.AreEqual("201301", periode.Bilanzbeginn.ToString()); var periodeOhneJahresabschluss = new Periode("201303", true); Assert.AreEqual("201301", periodeOhneJahresabschluss.Jahresbeginn.ToString()); Assert.AreEqual("201201", periodeOhneJahresabschluss.Bilanzbeginn.ToString()); } [Test] public void UngueltigePeriode() { Assert.Throws (() => new Periode("1234567"), "zu lang"); Assert.Throws(() => new Periode("1301"), "zu kurz"); Assert.Throws(() => new Periode("a1b§C3"), "nur Zahlen erlaubt"); Assert.Throws(() => new Periode("199901"), "Jahr ungültig"); Assert.Throws(() => new Periode("235901"), "Jahr ungültig"); Assert.Throws(() => new Periode("201231"), "Monat ungültig"); Assert.Throws(() => new Periode("201200"), "Monat ungültig"); Assert.Throws(() => new Periode("201213"), "Monat ungültig"); } } }