Do Together Test
This week, it seemed like my code tests were deprecating by the minute. That was good though because it meant the addition of some pretty cool API methods.
I’m really excited about Aaron’s InvokedAPI(). It makes dealing only with enabled and reachable code very easy. I was also able to build off of his functionality to find out if a method is a custom user method. (This new method solves the previous versions assumption that “myFirstMethod” is not editable). I am able able to tell you whether or not a user method is empty. These along with some other methods have made it possible for me to create the pretty sound Do Together test. (At least until InvokedAPI’s creation gets updated....)
As I mentioned last week, I have been doing some thinking about edge cases and reasonable holes. For instance, my Do Together test covers the cases of disabled code, unreachable code, and empty methods. However, it doesn’t cover the case of a DoTogether (If (something), Else( nothing)) where the Else body is run.
My next test is Animate Multiple Characters. (I am taking another look at this one with my newfound capabilities and knowledge). Essentially I want to be able to check to see if the kid has animated more than one character/prop. Once again, sounds simpler than it is...
Cases I think are reasonable to cover:
1. unreachable/disabled code
2. the caller is the Ground or the Camera (those don’t count)
3. multiple callers of the same type
4. there is one ForEachIn or EachInTogether that iterates through all the characters using a variable
I think I know how to deal with the third case. I think it is important because awarding animating multiple characters for using a ForEachIn or EachInTogether is important in reinforcing its use and not awarding it could cause confusion
Cases I’m not sure about:
1. The kid uses a variable to call all the methods and then switches up the what the variable points to.
I think this case will be much trickier to deal with. Moreover, I’m not sure there will be a wide range of people doing this. Can anyone think of a compelling argument for why I should make sure to account for that?
Unfortunately I was able to do anymore front page stuff this week. I will continue with that next week.