public void CompareDict()
{
TaskQueue.TQItemSelector sel = new TaskQueue.TQItemSelector("field1", TaskQueue.TQItemSelectorSet.Ascending)
.Rule("field2", TaskQueue.TQItemSelectorSet.Descending);
SomeExtMessage inst = new SomeExtMessage()
{
field1 = 5,
field2 = 15
};
TaskQueue.Providers.TaskMessage.InternalComparableDictionary cmp = (TaskQueue.Providers.TaskMessage.InternalComparableDictionary)
TaskQueue.Providers.TaskMessage.MakeComparatorDictionary(sel);
SomeExtMessage inst_CE = new SomeExtMessage()
{
field1 = 5,
field2 = 18
};
SomeExtMessage inst_CL = new SomeExtMessage()
{
field1 = 4,
field2 = 18
};
Assert.AreEqual(cmp(inst.GetHolder(), inst_CE.GetHolder()), 1);
Assert.AreEqual(cmp(inst.GetHolder(), inst_CL.GetHolder()), 1);
Assert.AreEqual(cmp(inst_CL.GetHolder(), inst_CE.GetHolder()), -1);
}