private void SyncUrlMap() { var lstAll = this.Bll.GetEntities <Model.Entity.UrlMap>(); var controllermeta = typeof(Controller); var lstMethod = System.Reflection.Assembly.GetExecutingAssembly().GetTypes() .Where(x => controllermeta.IsAssignableFrom(x)) .SelectMany(x => x.GetMethods(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public)) .Select(x => Tuple.Create(x, x.GetCustomAttributes(typeof(UrlMapAttribute), false))) .Where(x => x.Item2.Length == 1) .Select(x => Tuple.Create(x.Item1, (UrlMapAttribute)x.Item2[0])) .ToList(); var lstUrlMapWithCode = lstMethod.Select(x => new Model.Entity.UrlMap() { Action = x.Item1.Name, Category = x.Item2.Category, Controller = x.Item1.DeclaringType.Name.Replace("Controller", string.Empty), Description = x.Item2.Description, Id = Guid.NewGuid(), Pid = Guid.Empty }).ToList(); var cpHandler = new EqualityComparerWrapper <Model.Entity.UrlMap>((a, b) => a.Controller == b.Controller && a.Action == b.Action); var lstAdd = lstUrlMapWithCode.Except(lstAll, cpHandler).ToList(); this.Bll.Add <Model.Entity.UrlMap>(lstAdd); }
public void Uses_the_wrapped_comparer_to_compare_arguments() { //Arrange var stringComparerMock = new Mock <IEqualityComparer <string> >(); stringComparerMock.Setup(c => c.Equals("Same", "Same")) .Verifiable(); var comparerWrapper = new EqualityComparerWrapper <string>(stringComparerMock.Object); //Act comparerWrapper.Compare("Same", "Same"); //Assert stringComparerMock.Verify(); }