mocha/dotnet/Tests/Mocha.Tests/MemoryOmsExtensions.cs
2023-10-31 11:47:27 -04:00

72 lines
2.3 KiB
C#
Executable File

//
// MemoryOmsExtensions.cs
//
// Author:
// Michael Becker <alcexhim@gmail.com>
//
// Copyright (c) 2021 Mike Becker's Software
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System;
using Mocha.Core;
using Mocha.OMS;
using NUnit.Framework;
namespace Mocha.Tests
{
[TestFixture(Category = "OMS")]
public class MemoryOmsExtensions
{
public static readonly Type TYPE_OMS = typeof(LocalOms);
public static readonly Guid TEST_CLASS_GUID = new Guid("{380447a5-4174-414b-a80f-844997308358}");
public const string TEST_CLASS_NAME = "TEST_CLASS_NAME";
public const string TEST_CLASS_TITLE = "TEST CLASS TITLE";
Oms oms = null;
[SetUp()]
public void SetUp()
{
oms = MemoryOms.GetTestingOms();
}
[TearDown()]
public void TearDown()
{
oms = null;
}
/// <summary>
/// Tests the functionality of the <see cref="OmsExtensions.CreateClass(Oms, Guid, string, string)" /> method using a known
/// test class GUID and checks that the name attribute is properly set.
/// </summary>
[Test(Description = "Creates a class and tests the CreateTranslation functionality simultaneously.")]
public void CreateClassWithTranslation()
{
// oms.BeginTransaction();
Instance key = oms.CreateClass(TEST_CLASS_GUID, TEST_CLASS_NAME, TEST_CLASS_TITLE);
// oms.CommitTransaction();
string name = oms.GetAttributeValue<string>(key, oms.GetInstance(KnownAttributeGuids.Text.Name));
Assert.AreEqual(TEST_CLASS_NAME, name);
string title = oms.GetTranslationValue(key, oms.GetInstance(KnownRelationshipGuids.Class__has_title__Translation), oms.GetInstance(KnownInstanceGuids.Languages.English));
Assert.AreEqual(TEST_CLASS_TITLE, title);
}
}
}