예제 #1
0
        static public DicDiffResult <TK, TV> DicDiff <TK, TV>(IReadOnlyDictionary <TK, TV> dic1, IReadOnlyDictionary <TK, TV> dic2)
        {
            var res = new DicDiffResult <TK, TV>();

            foreach (var t in dic1)
            {
                if (!dic2.ContainsKey(t.Key))
                {
                    res.Dic1ButNotInDic2[t.Key] = t.Value;
                }
            }
            foreach (var t in dic2)
            {
                if (!dic1.ContainsKey(t.Key))
                {
                    res.Dic2ButNotInDic1[t.Key] = t.Value;
                }
            }
            return(res);
        }
예제 #2
0
        public void DicDiffDebug(Config anotherCfg)
        {
            var diffActiveAppProjectGenerators = DicDiffResult <string, IvPluginGenerator> .DicDiff(this._DicActiveAppProjectGenerators, anotherCfg._DicActiveAppProjectGenerators);

            Debug.Assert(0 == diffActiveAppProjectGenerators.Dic1ButNotInDic2.Count);
            Debug.Assert(0 == diffActiveAppProjectGenerators.Dic2ButNotInDic1.Count);
            var diffGenerators = DicDiffResult <string, IvPluginGenerator> .DicDiff(this.DicGenerators, anotherCfg.DicGenerators);

            Debug.Assert(0 == diffGenerators.Dic1ButNotInDic2.Count);
            Debug.Assert(0 == diffGenerators.Dic2ButNotInDic1.Count);
            var diffNodes = DicDiffResult <string, ITreeConfigNode> .DicDiff(this._DicNodes, anotherCfg._DicNodes);

            Debug.Assert(0 == diffNodes.Dic1ButNotInDic2.Count);
            Debug.Assert(0 == diffNodes.Dic2ButNotInDic1.Count);
            var diffPlugins = DicDiffResult <string, IvPlugin> .DicDiff(this.DicPlugins, anotherCfg.DicPlugins);

            Debug.Assert(0 == diffPlugins.Dic1ButNotInDic2.Count);
            Debug.Assert(0 == diffPlugins.Dic2ButNotInDic1.Count);
            var diffPluginLists = DicDiffResult <vPluginLayerTypeEnum, List <PluginRow> > .DicDiff(this.DicPluginLists, anotherCfg.DicPluginLists);

            Debug.Assert(0 == diffPluginLists.Dic1ButNotInDic2.Count);
            Debug.Assert(0 == diffPluginLists.Dic2ButNotInDic1.Count);
        }