Fixed ticket #1075 for lil_matrix, added fancy slice indexing and added test
to confirm 1075 was fixed and fixed slicing tests.
Added test to test_lil_sequence_assignment and fixed code to pass test.
Attempted to fix bugs seen with sparse_test_class()
Fixed another thing for S[1:5, 0] = range(1, 5)y
Integrated test_base.py from gh-426, added tests for new indexing and added
matrix indexing functioning.
Updated test suite based on pull request comments. Still needs fixing at
line 1227 where C is undefined.
Updated code using ravel() and now able to set values based on an array. A
tradeoff has to be made between code duplication and memory usage. Making
everything into the same shape would be the most elegant, but A[:, :] = 1
would generate three arrays (i, j, x) all having the same size as A. If there
is desire to simplify the code, that can be easily done.
Rewrote __getitem__ to be more readable and reduce code duplication.
Copied code from __getitem__ to __setitem__ . This fixes one error in
test_base and brings up a new error:

line 1172
A[1:3, 1] = [[10], [20]]
now works

line 984
A[1:5, 0] = range(1, 5)
is now broken

line 984 does not work for NumPy matrix objects, so I think that test should
be deleted. I'm leaving that alone for now.
Changed most of the try: ... except *Error: ... blocks
into assert_raises(*Error)
Fixed and expanded test_fancy_assign_ndarray
Expanded _TestFancyMultidimAssign to ensure proper test coverage
Expanded the test coverage for slices
TST: sparse: clean up the test suite

Move indexing tests to appropriate classes splitting some of them into
parts. Remove duplicated tests. Remove dead code. Fix typos.
MAINT: sparse/lil: remove dead code
BUG: sparse/lil: more robust _slicetoseq implementation

The current failed for negative strides + start point past the end.
BUG: sparse/lil: allow single integer indices
TST: sparse: improve test corner case coverage
ENH: sparse/lil: allow shape (0,0) LIL matrixes
TST: sparse: fix some bugs in test_base