Skip to content

v1.3.1: Fix Sum operations parentheses and wrapped value definitions

Choose a tag to compare

@petre-c petre-c released this 30 Jun 17:24
· 22 commits to main since this release

πŸš€ What's New in v1.3.1

πŸ”§ Bug Fixes

Sum Operations Parentheses

  • Fixed missing parentheses for Sum operations when used in multiplication/division contexts
  • Sum operations now properly wrapped with parentheses for mathematical clarity
  • Example: (Sum(items)) Γ— multiplier instead of Sum(items) Γ— multiplier

Wrapped Value Definitions in FinalCalculationSteps

  • Enhanced calculation step display to include wrapped value definitions when used in complex expressions
  • Intelligent complexity detection determines when to show multi-line format
  • Wrapped values now properly show their definitions in calculation steps

πŸ§ͺ Test Results

  • Fixed 7 originally failing tests related to missing parentheses and definitions
  • Resolved 2 additional side-effect failures from over-aggressive formatting
  • All 168 tests now passing βœ…

πŸ”§ Technical Changes

Core Improvements

  • FormatOperand method: Enhanced Sum operation detection and parentheses logic
  • FinalCalculationSteps property: Improved wrapped value definition inclusion
  • CountOperators helper: New method for expression complexity analysis

Code Examples

Sum Parentheses Detection:

// Only add parentheses for actual Sum operations, not multiplications containing sums
var isTopLevelSum = operand._caption.StartsWith("Sum(") || 
                   (operand._caption.Contains(" + ") && 
                    \!operand._caption.Contains(" Γ— ") && 
                    \!operand._caption.Contains(" Γ· "));

Wrapped Value Multi-line Logic:

// Only show multi-line format for multiplication expressions with wrapped values
var operatorCount = CountOperators(_caption);
var isSimpleMultiplication = operatorCount == 1 && _caption.Contains(" Γ— ") && 
                            _caption.Contains(wrappedName + "[");
shouldShowMultiLine = hasComplexDefinition && isSimpleMultiplication;

πŸ“ Files Modified

  • HumanReadableCalculationSteps/ValueWithCaption.cs - Core formatting logic
  • Test files - Updated expectations for improved formatting behavior

πŸ”— Related

🀝 Contributors

This release includes improvements to mathematical notation accuracy and calculation step visibility, ensuring better user experience when working with complex expressions.


Full Changelog: v1.3.0...v1.3.1