Skip to content

Mkdocs Deploy#2

Closed
imajeetyadav wants to merge 19 commits into
mainfrom
feature/pipeline
Closed

Mkdocs Deploy#2
imajeetyadav wants to merge 19 commits into
mainfrom
feature/pipeline

Conversation

@imajeetyadav

Copy link
Copy Markdown
Contributor

No description provided.

@imajeetyadav imajeetyadav deleted the feature/pipeline branch January 29, 2024 13:16
murray-ds pushed a commit that referenced this pull request Oct 26, 2025
Add robust input validation and improve error messages for TreeGrid:

- Validate invalid child references with descriptive error messages
- Add input validation in __init__ for:
  - Grid dimensions (must be positive integers)
  - node_class (must be TreeNode subclass)
  - tree_structure (cannot be empty)
  - Node positions (must be within grid bounds)
  - Required 'position' key in node data
- Extract magic numbers to class constants:
  - CONNECTION_CURVE_RADIUS = 0.15
  - CONNECTION_LINE_WIDTH = 2
  - CONNECTION_LINE_COLOR = "black"
- Add 6 comprehensive validation tests with realistic retail data:
  - test_invalid_child_reference
  - test_invalid_grid_dimensions
  - test_invalid_node_class
  - test_empty_tree_structure
  - test_missing_position_key
  - test_out_of_bounds_position

All 33 tests passing with 82% coverage (improved from 79%).

Addresses code review issues #1, #2, #4, and #5 from PR #357.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
murray-ds pushed a commit that referenced this pull request Oct 27, 2025
Add robust input validation and improve error messages for TreeGrid:

- Validate invalid child references with descriptive error messages
- Add input validation in __init__ for:
  - Grid dimensions (must be positive integers)
  - node_class (must be TreeNode subclass)
  - tree_structure (cannot be empty)
  - Node positions (must be within grid bounds)
  - Required 'position' key in node data
- Extract magic numbers to class constants:
  - CONNECTION_CURVE_RADIUS = 0.15
  - CONNECTION_LINE_WIDTH = 2
  - CONNECTION_LINE_COLOR = "black"
- Add 6 comprehensive validation tests with realistic retail data:
  - test_invalid_child_reference
  - test_invalid_grid_dimensions
  - test_invalid_node_class
  - test_empty_tree_structure
  - test_missing_position_key
  - test_out_of_bounds_position

All 33 tests passing with 82% coverage (improved from 79%).

Addresses code review issues #1, #2, #4, and #5 from PR #357.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
murray-ds added a commit that referenced this pull request Oct 27, 2025
* feat: add TreeGrid layout engine for tree diagrams

Add TreeGrid class for positioning nodes in a grid-based coordinate system and drawing
curved connection lines between parent and child nodes.

- TreeGrid manages tree layout with configurable spacing
- Auto-calculates spacing if not provided (vertical: node_height + 0.6, horizontal: node_width - 1.0)
- Simplified render() API to return only Axes (instead of tuple)
- Draws curved connection lines using Bezier curves between parent and child nodes
- Comprehensive unit tests: complete tree, axes management, edge cases
- 25/25 tests passing, 79% coverage of tree_diagram.py

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* feat: add comprehensive validation and error handling to TreeGrid

Add robust input validation and improve error messages for TreeGrid:

- Validate invalid child references with descriptive error messages
- Add input validation in __init__ for:
  - Grid dimensions (must be positive integers)
  - node_class (must be TreeNode subclass)
  - tree_structure (cannot be empty)
  - Node positions (must be within grid bounds)
  - Required 'position' key in node data
- Extract magic numbers to class constants:
  - CONNECTION_CURVE_RADIUS = 0.15
  - CONNECTION_LINE_WIDTH = 2
  - CONNECTION_LINE_COLOR = "black"
- Add 6 comprehensive validation tests with realistic retail data:
  - test_invalid_child_reference
  - test_invalid_grid_dimensions
  - test_invalid_node_class
  - test_empty_tree_structure
  - test_missing_position_key
  - test_out_of_bounds_position

All 33 tests passing with 82% coverage (improved from 79%).

Addresses code review issues #1, #2, #4, and #5 from PR #357.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* test: improve BaseRoundedBox test quality and coverage

Enhance test assertions to verify actual behavior instead of trivial checks:

- Improve test_box_creation_with_dimensions to verify actual width/height via bounding box
  instead of just checking object existence
- Remove test_rendering_to_axes as it only tests basic matplotlib functionality,
  not package-specific behavior
- Improve test_border_radius_top to verify correct vertex count (2 * 10 arc points + 2 straight + 1 close = 23)
  instead of just checking paths differ
- Improve test_border_radius_bottom to verify correct vertex count (same formula as top)
  instead of just checking paths differ

All tests now verify the claimed behavior with specific assertions based on the
ARC_POINTS_PER_CORNER constant, following the pattern of the excellent
test_zero_radius_creates_square_corners and test_nonzero_radius_creates_rounded_corners tests.

32/32 tests passing (removed 1 trivial test, all others improved).

Addresses test quality issues from code review feedback.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Murray Vanwyk <murray.vanwyk@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
murray-ds pushed a commit that referenced this pull request Apr 5, 2026
- Add full Google-style docstring to _normalize_datetime (#10)
- Adopt ColumnHelper in test_acv.py for consistency (#7)
- Rename misleading test_within_group_with_user_column_named_total_stores
  to test_within_group_ignores_unrelated_extra_columns (#4)
- Add group_col/within_group examples to docs/metrics.md (#9)
- Fix PR description: product_col is str | None, not list (#2)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mvanwyk added a commit that referenced this pull request Apr 5, 2026
- Add full Google-style docstring to _normalize_datetime (#10)
- Adopt ColumnHelper in test_acv.py for consistency (#7)
- Rename misleading test_within_group_with_user_column_named_total_stores
  to test_within_group_ignores_unrelated_extra_columns (#4)
- Add group_col/within_group examples to docs/metrics.md (#9)
- Fix PR description: product_col is str | None, not list (#2)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant