private static LocalEngine MakeLocalEngine(IUpdateFinder finder, ILocalUpdater updater) { var reader = Substitute.For <INuGetSourcesReader>(); finder.FindPackageUpdateSets( Arg.Any <IFolder>(), Arg.Any <NuGetSources>(), Arg.Any <VersionChange>(), Arg.Any <UsePrerelease>()) .Returns(new List <PackageUpdateSet>()); var sorter = Substitute.For <IPackageUpdateSetSort>(); sorter.Sort(Arg.Any <IReadOnlyCollection <PackageUpdateSet> >()) .Returns(x => x.ArgAt <IReadOnlyCollection <PackageUpdateSet> >(0)); var logger = Substitute.For <INuKeeperLogger>(); var nugetLogger = Substitute.For <NuGet.Common.ILogger>(); var reporter = Substitute.For <IReporter>(); var engine = new LocalEngine(reader, finder, sorter, updater, reporter, logger, nugetLogger); Assert.That(engine, Is.Not.Null); return(engine); }
public UpdateCommand(LocalEngine engine, IConfigureLogLevel logger) : base(logger) { _engine = engine; }
public void AssertFindEqual <T>(string tablename) where T : new() { var meta = GetMetaData(tablename); List <Dictionary <object, int> > list = LJC.FrameWork.Comm.LocalCacheManager <List <Dictionary <object, int> > > .Find("asfasfaefaes", () => { List <Dictionary <object, int> > list1 = new System.Collections.Generic.List <Dictionary <object, int> >(); List <T> listt = new System.Collections.Generic.List <T>(); foreach (var item in LocalEngine.Find <T>(tablename, (p) => true)) { listt.Add(item); } foreach (var idx in meta.IndexInfos) { Dictionary <object, int> keyscount = new Dictionary <object, int>(); foreach (var item in listt) { var idxval = string.Join("_", idx.GetIndexValues(item, meta).Select(p => p.ToString())); if (keyscount.ContainsKey(idxval)) { keyscount[idxval] = keyscount[idxval] + 1; } else { keyscount.Add(idxval, 1); } } list1.Add(keyscount); } return(list1); }, 36000); Console.WriteLine("分析完成"); int i = 0; int cnt = 0; DateTime now = DateTime.Now; //var thekey = "新疆城建"; foreach (var dic in list) { foreach (var kv in dic) { cnt++; //if (!kv.Key.Equals(thekey)) //{ // continue; //} ProcessTraceUtil.StartTrace(); var count = FindIndex(tablename, meta, meta.IndexInfos[i], new object[] { kv.Key }).Count(); if (count != kv.Value) { //Console.WriteLine("查找不相等:" + kv.Key + ",查找到的" + count + "!=统计的" + kv.Value); LogManager.LogHelper.Instance.Error("[" + meta.IndexInfos[i].IndexName + "]查找不相等:" + kv.Key + ",查找到的" + count + "!=统计的" + kv.Value); } //Console.WriteLine(ProcessTraceUtil.PrintTrace()); if (cnt % 10000 == 0) { Console.WriteLine("10000条用时:" + (DateTime.Now.Subtract(now)).TotalMilliseconds + "ms"); now = DateTime.Now; } } i++; } }
public InspectCommand(LocalEngine engine, IConfigureLogLevel logger) : base(logger) { _engine = engine; }