@@ -6,87 +6,87 @@ This implementation adds proper dictionary type handling to the Oproto.Lambda.Op
66
77## Tasks
88
9- - [ ] 1 . Implement dictionary type detection
10- - [ ] 1.1 Add ` IsDictionaryType ` method to ` OpenApiSpecGenerator_Types.cs `
9+ - [x ] 1 . Implement dictionary type detection
10+ - [x ] 1.1 Add ` IsDictionaryType ` method to ` OpenApiSpecGenerator_Types.cs `
1111 - Implement detection for ` Dictionary<K,V> ` , ` IDictionary<K,V> ` , ` IReadOnlyDictionary<K,V> `
1212 - Extract key and value type symbols from type arguments
1313 - Check for interface implementation for custom dictionary types
1414 - _ Requirements: 1.1, 1.2, 1.3, 1.4, 1.5_
1515
16- - [ ] 2 . Implement dictionary schema generation
17- - [ ] 2.1 Add ` TryCreateDictionarySchema ` method to ` OpenApiSpecGenerator_Schema.cs `
16+ - [x ] 2 . Implement dictionary schema generation
17+ - [x ] 2.1 Add ` TryCreateDictionarySchema ` method to ` OpenApiSpecGenerator_Schema.cs `
1818 - Create schema with ` type: "object" ` and ` additionalProperties `
1919 - Recursively call ` CreateSchema ` for the value type
2020 - Apply ` [OpenApiSchema] ` attributes (Description, Example) to dictionary schema
2121 - _ Requirements: 2.1, 2.2, 2.3, 2.4, 2.5, 3.1, 3.2, 3.3, 6.1, 6.2_
2222
23- - [ ] 2.2 Integrate dictionary detection into ` CreateSchema ` pipeline
23+ - [x ] 2.2 Integrate dictionary detection into ` CreateSchema ` pipeline
2424 - Add ` TryCreateDictionarySchema ` call after ` TryCreateCollectionSchema ` and before complex type handling
2525 - Ensure dictionaries don't fall through to ` CreateComplexTypeSchema `
2626 - _ Requirements: 5.1, 5.2, 5.3_
2727
28- - [ ] 2.3 Handle nullable dictionary types
28+ - [x ] 2.3 Handle nullable dictionary types
2929 - Ensure nullable dictionaries (` Dictionary<K,V>? ` ) produce ` nullable: true ` in schema
3030 - Handle nullable reference type annotations on dictionary properties
3131 - _ Requirements: 4.1, 4.2_
3232
33- - [ ] 3 . Checkpoint - Verify implementation compiles
33+ - [x ] 3 . Checkpoint - Verify implementation compiles
3434 - Run ` dotnet build ` on the source generator project
3535 - Ensure no compiler warnings or errors
3636 - Ensure all tests pass, ask the user if questions arise
3737
38- - [ ] 4 . Add unit tests for dictionary schema generation
39- - [ ] 4.1 Add basic dictionary type tests to ` OpenApiGeneratorTests.cs `
38+ - [x ] 4 . Add unit tests for dictionary schema generation
39+ - [x ] 4.1 Add basic dictionary type tests to ` OpenApiGeneratorTests.cs `
4040 - Test ` Dictionary<string, string> ` produces correct schema
4141 - Test ` Dictionary<string, int> ` produces integer additionalProperties
4242 - Test ` Dictionary<string, bool> ` produces boolean additionalProperties
4343 - Test ` Dictionary<string, decimal> ` produces number additionalProperties
4444 - Test ` Dictionary<string, DateTime> ` produces string with date-time format
4545 - _ Requirements: 2.1, 2.2, 2.3, 2.4, 2.5_
4646
47- - [ ] 4.2 Add complex value type tests
47+ - [x ] 4.2 Add complex value type tests
4848 - Test ` Dictionary<string, ComplexType> ` produces $ref in additionalProperties
4949 - Test ` Dictionary<string, List<string>> ` produces nested array schema
5050 - Test ` Dictionary<string, Dictionary<string, int>> ` produces nested dictionary schema
5151 - _ Requirements: 3.1, 3.2, 3.3_
5252
53- - [ ] 4.3 Add nullable dictionary tests
53+ - [x ] 4.3 Add nullable dictionary tests
5454 - Test nullable dictionary property produces ` nullable: true `
5555 - Test ` Dictionary<string, T>? ` produces ` nullable: true `
5656 - _ Requirements: 4.1, 4.2_
5757
58- - [ ] 4.4 Add dictionary interface tests
58+ - [x ] 4.4 Add dictionary interface tests
5959 - Test ` IDictionary<string, T> ` is detected as dictionary
6060 - Test ` IReadOnlyDictionary<string, T> ` is detected as dictionary
6161 - _ Requirements: 1.2, 1.3_
6262
63- - [ ] 4.5 Add attribute support tests
63+ - [x ] 4.5 Add attribute support tests
6464 - Test ` [OpenApiSchema(Description = "...")] ` applies to dictionary schema
6565 - Test ` [OpenApiSchema(Example = "...")] ` applies to dictionary schema
6666 - _ Requirements: 6.1, 6.2_
6767
68- - [ ] 5 . Add property-based tests for dictionary handling
69- - [ ] 5.1 Write property test for dictionary type detection
68+ - [x ] 5 . Add property-based tests for dictionary handling
69+ - [x ] 5.1 Write property test for dictionary type detection
7070 - ** Property 1: Dictionary Type Detection**
7171 - ** Validates: Requirements 1.1, 1.2, 1.3, 1.4, 1.5**
7272
73- - [ ] 5.2 Write property test for dictionary schema structure
73+ - [x ] 5.2 Write property test for dictionary schema structure
7474 - ** Property 2: Dictionary Schema Structure**
7575 - ** Validates: Requirements 5.2**
7676
77- - [ ] 5.3 Write property test for simple value type mapping
77+ - [x ] 5.3 Write property test for simple value type mapping
7878 - ** Property 3: Simple Value Type Schema**
7979 - ** Validates: Requirements 2.1, 2.2, 2.3, 2.4, 2.5**
8080
81- - [ ] 5.4 Write property test for complex value type references
81+ - [x ] 5.4 Write property test for complex value type references
8282 - ** Property 4: Complex Value Type Reference**
8383 - ** Validates: Requirements 3.1**
8484
85- - [ ] 5.5 Write property test for nullable dictionary handling
85+ - [x ] 5.5 Write property test for nullable dictionary handling
8686 - ** Property 5: Nullable Dictionary Handling**
8787 - ** Validates: Requirements 4.1, 4.2**
8888
89- - [ ] 6 . Final checkpoint - Ensure all tests pass
89+ - [x ] 6 . Final checkpoint - Ensure all tests pass
9090 - Run full test suite with ` dotnet test `
9191 - Verify no regressions in existing functionality
9292 - Ensure all tests pass, ask the user if questions arise
0 commit comments