This was a little agressive. The test suite should only care about the keys it creates, not everything else. This will cause a little more maintenance in the test suite, but will not cause inintended side effects like it did before. Signed-off-by: Aaron Bedra <email@example.com>
The logic for implementing zinterstore and zunionstore is slightly different than most queries - the redis commands take an arbitrary number of arguments but require the caller to pass a count of them in order to distinguish source-key args from options.
String size was calculated using clojure.core/count. This is an error because when non ascii character strings are present the actual number of bytes to be sent is > the number of characters in the string. This commit makes the failing test pass. All tests are passing
The response was being read assuming that the number of characters is equal to the number of byets. The problem is fixed. Now (response) gets a DataInput instead of a reader. Reader is not the right interface for (response) since it's used to read chars. We need to read bytes, because Redis protocol uses numbers of bytes not characters. We still need a fix for generating non ascii strings in queries.