So you are suggesting to create subclasses of Door. This is what the original article tried to avoid, he discusses it pretty well why Open/Close is a state and not a type of Door.
Also: mocking should not be of any relevance when designing your system. Mocking often leads to very fragile tests. Write testable code: yes, totally but that sometimes not the same thing.