protected void CheckParametersAreEqualsInBuidlingBlocks()
        {
            var errorList = new List <string>();

            foreach (var sourceKeyValue in _allSourceParameters.KeyValues)
            {
                var sourceParameter = sourceKeyValue.Value;
                var targetParameter = _allTargetParameters[sourceKeyValue.Key];
                if (targetParameter == null)
                {
                    errorList.Add($"Could not find parameter '{sourceKeyValue.Key}'");
                    continue;
                }

                var sourceFormula = sourceParameter.Formula;
                var targetFormula = targetParameter.Formula;

                if (sourceFormula.IsExplicit() && sourceFormula.Id != targetFormula.Id)
                {
                    errorList.Add($"Formula Ids for parameter '{sourceKeyValue.Key}' are not equal ({sourceFormula.Id} vs {targetFormula.Id})");
                    continue;
                }

                if (!ValueComparer.AreValuesEqual(tryGetValue(sourceParameter), tryGetValue(targetParameter)))
                {
                    errorList.Add($"For parameter '{sourceKeyValue.Key}'. source value ({sourceParameter.Value}) is not equal target value ({targetParameter.Value}),");
                    continue;
                }
            }

            Assert.IsTrue(errorList.Count == 0, errorList.ToString("\n"));
        }