103 lines
3.3 KiB
C#
103 lines
3.3 KiB
C#
using Salmon.Core;
|
|
|
|
namespace Salmon.Test
|
|
{
|
|
[TestClass]
|
|
public class TraductionTester
|
|
{
|
|
Salmon.Core.Cliff.Translator Translator { get; set; } = new();
|
|
|
|
[TestMethod]
|
|
public void TestEncoding()
|
|
{
|
|
var id = Guid.NewGuid().ToString();
|
|
Element el = new Element(id)
|
|
{
|
|
ParentId = Guid.NewGuid().ToString(),
|
|
Description = "description",
|
|
ShortName = "short",
|
|
LongName = "long",
|
|
};
|
|
|
|
var triplets = Translator.Encode(el).ToList();
|
|
|
|
if (triplets.Count != 5)
|
|
Assert.Fail("Bad triple count");
|
|
|
|
foreach (Triplet t in triplets)
|
|
Assert.AreEqual(t.key, id);
|
|
|
|
Assert.AreEqual(triplets[0].key, id);
|
|
Assert.AreEqual(triplets[0].predicate, Salmon.Core.Cliff.Translator.TYPE_PREDICATE);
|
|
Assert.AreEqual(triplets[0].value, nameof(Element));
|
|
|
|
Assert.AreEqual(triplets[1].key, id);
|
|
Assert.AreEqual(triplets[1].predicate, "parent");
|
|
Assert.AreEqual(triplets[1].value, el.ParentId);
|
|
|
|
Assert.AreEqual(triplets[2].key, id);
|
|
Assert.AreEqual(triplets[2].predicate, nameof(Element.ShortName));
|
|
Assert.AreEqual(triplets[2].value, el.ShortName);
|
|
|
|
Assert.AreEqual(triplets[3].key, id);
|
|
Assert.AreEqual(triplets[3].predicate, nameof(Element.LongName));
|
|
Assert.AreEqual(triplets[3].value, el.LongName);
|
|
|
|
Assert.AreEqual(triplets[4].key, id);
|
|
Assert.AreEqual(triplets[4].predicate, nameof(Element.Description));
|
|
Assert.AreEqual(triplets[4].value, el.Description);
|
|
}
|
|
|
|
[TestMethod]
|
|
public void TestDecoding()
|
|
{
|
|
string id = Guid.NewGuid().ToString();
|
|
string parentid = Guid.NewGuid().ToString();
|
|
string shortName = "short";
|
|
string longName = "long";
|
|
string description = "description";
|
|
|
|
List<Triplet> triplets = new()
|
|
{
|
|
new Triplet
|
|
{
|
|
key = id,
|
|
predicate = Salmon.Core.Cliff.Translator.TYPE_PREDICATE,
|
|
value = nameof(Element)
|
|
},
|
|
new Triplet
|
|
{
|
|
key = id,
|
|
predicate = "parent",
|
|
value = parentid
|
|
},
|
|
new Triplet
|
|
{
|
|
key = id,
|
|
predicate = nameof(Element.ShortName),
|
|
value = shortName
|
|
},
|
|
new Triplet
|
|
{
|
|
key = id,
|
|
predicate = nameof(Element.LongName),
|
|
value = longName
|
|
},
|
|
new Triplet
|
|
{
|
|
key = id,
|
|
predicate = nameof(Element.Description),
|
|
value = description
|
|
}
|
|
};
|
|
|
|
var el = Translator.Decode<Element>(triplets);
|
|
|
|
Assert.AreEqual(el.UniqueId, id);
|
|
Assert.AreEqual(el.ParentId, parentid);
|
|
Assert.AreEqual(el.ShortName, shortName);
|
|
Assert.AreEqual(el.LongName, longName);
|
|
Assert.AreEqual(el.Description, description);
|
|
}
|
|
}
|
|
} |