Closed grahamwren closed 4 years ago
Due to changes in the assignment which previously asked us to write our own tests for classes other than the relevant interface, I will re-add most tests for Object and String.
However, re this PR https://github.com/chasebish/cwc_object_string/pull/8, I'd like to still remove the test for concat
/size
because the interface was poorly designed and will change. Thoughts?
Based on the PR you linked, it looks like there are going to be changes made to the signatures for concat
and size
. However, these changes won't be finalized and merged to master
until after the Friday night deadline.
While I agree with the changes that will be made, they haven't been made yet. Thus, I think the tests should remain.
Think about it like this: I'm developing software for a public deployment in a week, and one of my interfaces is used by some of the other teams on the project. Some of the teams met over lunch and chatted about making some agreeable changes to that interface. However, because of the looming deadline—and all of the teams that didn't come to lunch with us and don't know about the incoming changes yet—we plan to update that interface after the public deployment, to be deployed next time.
When I write tests, I want to make sure next week's deployment is suitable for the public and test based on the current interface. I don't assume the changes we want to make have been made.
After next week's deployment—and once the changes have been made and all teams are aware of them—the tests can be updated to match.
The tests for this assignment should exhaustively align with the interface for this assignment. If and when the interface changes, the tests can and should change to match.
Asked in class just now, Jan responded you should not have written tests for Object and String. Instead, "you should have only tested the interface you designed with as few dependencies as possible." https://piazza.com/class/k51bluky59n2jr?cid=305
All righty. In that case, makes sense.
Looks like my formatter moved your macros a little, sorry about that
More Importantly:
Remove tests for Object and String
Your tests for
Object
andString
produce additional requirements for the interface ofObject
andString
which are not relevant to your interface or tests forMap
. The assignment does not ask you to provide tests forObject
andString
just for your chosen interface. Because of this and to ease integration with others' code, I am deleting these tests.Add
;
to one of you macro callsThis just makes it compile.