The answer depends on perspective. If you want to only unit test this function, then you're on the right track with your example equivalence classes you have defined. Although, you are missing some. I'd recommended using boundary value analysis technique in addition to equivalence partitions -- these 2 techniques often go hand-in-hand.
If you stick with ...
Based on my experience in quality assurance services there can be few more ways to cover test cases:
We can derive the test cases directly from a requirements. Various Techniques are following:
Boundary Value Analysis (BVA)
Equivalence Partitioning (EP)
Decision Table Testing
State Transition Diagrams
Use Case Testing
Another way to create test cases is ...
Yes, it is possible to use test design techniques to test edge and corner cases.
Boundary Value Analysis (BVA) and Equivalence Partitioning (EP) are useful for testing input data to verify the output results. For these to be valuable, you need to understand what the boundaries are and how the data is partitioned between the boundaries.
For more thorough ...