adding some more pattern tests
Pattern now uses unmodifiable list to store colors
reworking pattern checking algorithm to avoid problems with color duplicates