public void ActiveDifferenceObjectsRoles_Will_Be_All_ModelDifferenceObjectsObjects_that_are_OfRoleType_And_That_At_Leat_One_of_Their_Roles_Is_Current_User_Role() { Isolate.Fake.ISecurityComplex(); var role = new Role(Session.DefaultSession); role.Save(); ((User)SecuritySystem.CurrentUser).Roles.Add(role); XafTypesInfo.Instance.RegisterEntity(typeof(RoleModelDifferenceObject)); RoleDifferenceObjectBuilder.CreateDynamicMembers(Isolate.Fake.Instance<ISecurityComplex>()); new ModelDifferenceObject(Session.DefaultSession){PersistentApplication = new PersistentApplication(Session.DefaultSession)}.Save(); var roleDifferenceObjectsObject1 = new RoleModelDifferenceObject(Session.DefaultSession) { PersistentApplication =new PersistentApplication(Session.DefaultSession) { UniqueName = "AppName" } }; ((XPCollection)roleDifferenceObjectsObject1.GetMemberValue("Roles")).Add(role); roleDifferenceObjectsObject1.Save(); var roleDifferenceObjectsObject2 = new RoleModelDifferenceObject(Session.DefaultSession) { PersistentApplication = new PersistentApplication(Session.DefaultSession) { UniqueName = "AppName" } }; roleDifferenceObjectsObject2.Save(); ((XPCollection)roleDifferenceObjectsObject2.GetMemberValue("Roles")).Add(role); new RoleModelDifferenceObject(Session.DefaultSession) { PersistentApplication = new PersistentApplication(Session.DefaultSession){ Name = "AppName" } }.Save(); IQueryable<RoleModelDifferenceObject> queryable = new QueryRoleModelDifferenceObject(Session.DefaultSession).GetActiveModelDifferences("AppName"); Assert.AreEqual(2, queryable.Count()); }