public void GetRelatedDirectTest() { /// Arrange EntityReference account1 = new EntityReference(); account1.LogicalName = "account"; account1.Id = Guid.NewGuid(); EntityReference account2 = new EntityReference(); account2.LogicalName = "account"; account2.Id = Guid.NewGuid(); EntityReference contact1 = new EntityReference(); contact1.LogicalName = "contact"; contact1.Id = Guid.NewGuid(); EntityReference contact2 = new EntityReference(); contact2.LogicalName = "contact"; contact2.Id = Guid.NewGuid(); ParameterCollection inputParameters = new ParameterCollection(); inputParameters.Add("Target", account1); inputParameters.Add("RelatedEntities", new EntityReferenceCollection() { contact1, contact2 }); TestPluginExecutionContext context = new TestPluginExecutionContext(); context.InputParameters = inputParameters; context.MessageName = "Associate"; /// Act var dic = context.GetRelatedEntitiesByTarget(account1.LogicalName, contact1.LogicalName); /// Assert Assert.AreEqual(1, dic.Count); Assert.IsTrue(dic.Keys.Contains(account1)); EntityReferenceCollection value = dic[account1]; Assert.AreEqual(2, value.Count); Assert.IsTrue(value.Contains(contact1)); Assert.IsTrue(value.Contains(contact2)); }