THRIFT-369: sets and maps break equality
Client: ruby
Patch: Ilya Maykov
Added a unit test demonstrating that equality is not broken for structs with nested containers.



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1294917 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/rb/spec/ThriftSpec.thrift b/lib/rb/spec/ThriftSpec.thrift
index e4dece4..b42481b 100644
--- a/lib/rb/spec/ThriftSpec.thrift
+++ b/lib/rb/spec/ThriftSpec.thrift
@@ -129,4 +129,55 @@
 
 struct StructWithEnumMap {
   1: map<SomeEnum, list<SomeEnum>> my_map;
-}
\ No newline at end of file
+}
+
+# Nested lists
+struct NestedListInList {
+  1: list<list<byte>> value
+}
+
+struct NestedListInSet {
+  1: set<list<byte>> value
+}
+
+struct NestedListInMapKey {
+  1: map<list<byte>, byte> value
+}
+
+struct NestedListInMapValue {
+  1: map<byte, list<byte>> value
+}
+
+# Nested sets
+struct NestedSetInList {
+  1: list<set<byte>> value
+}
+
+struct NestedSetInSet {
+  1: set<set<byte>> value
+}
+
+struct NestedSetInMapKey {
+  1: map<set<byte>, byte> value
+}
+
+struct NestedSetInMapValue {
+  1: map<byte, set<byte>> value
+}
+
+# Nested maps
+struct NestedMapInList {
+  1: list<map<byte, byte>> value
+}
+
+struct NestedMapInSet {
+  1: set<map<byte, byte>> value
+}
+
+struct NestedMapInMapKey {
+  2: map<map<byte, byte>, byte> value
+}
+
+struct NestedMapInMapValue {
+  2: map<byte, map<byte, byte>> value
+}