Ejemplo n.º 1
0
        public void Test_LocateFromBaseTypes()
        {
            string action   = "Save";
            string typeName = "MockDerivedEntity";

            ReactionLocator locator = new ReactionLocator(ReactionState.Reactions);

            ReactionInfo[] reactions = locator.LocateFromBaseTypes(action, EntityState.GetType(typeName));

            foreach (ReactionInfo reaction in reactions)
            {
                Type expectedType = EntityState.GetType(typeName);
                Type actualType   = EntityState.GetType(reaction.TypeName);

                bool doMatch = expectedType.Equals(actualType) ||
                               expectedType.IsAssignableFrom(actualType) ||
                               actualType.IsAssignableFrom(expectedType);

                Assert.IsTrue(doMatch, "The type '" + reaction.TypeName + "' on '" + reaction.GetType().FullName + "' reaction does not match expected type '" + typeName + "'.");
            }

            Assert.AreEqual(1, reactions.Length, "Invalid number of reactions found.");
        }