summaryrefslogtreecommitdiff
path: root/lib/go/test/EqualsTest.thrift
blob: 57ce131ec0969d0002fe6fe82d9483b909f55479 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

typedef i8 mybyte
typedef string mystr
typedef binary mybin

enum EnumFoo {
  e1
  e2
}

struct BasicEqualsFoo {
  1: bool BoolFoo,
  2: optional bool OptBoolFoo,
  3: i8 I8Foo,
  4: optional i8 OptI8Foo,
  5: i16 I16Foo,
  6: optional i16 OptI16Foo,
  7: i32 I32Foo,
  8: optional i32 OptI32Foo,
  9: i64 I64Foo,
  10: optional i64 OptI64Foo,
  11: double DoubleFoo,
  12: optional double OptDoubleFoo,
  13: string StrFoo,
  14: optional string OptStrFoo,
  15: binary BinFoo,
  16: optional binary OptBinFoo,
  17: EnumFoo EnumFoo,
  18: optional EnumFoo OptEnumFoo,
  19: mybyte MyByteFoo,
  20: optional mybyte OptMyByteFoo,
  21: mystr MyStrFoo,
  22: optional mystr OptMyStrFoo,
  23: mybin MyBinFoo,
  24: optional mybin OptMyBinFoo,
}

struct StructEqualsFoo {
  1: BasicEqualsFoo StructFoo,
  2: optional BasicEqualsFoo OptStructFoo,
}

struct ListEqualsFoo {
    1: list<i64> I64ListFoo,
    2: optional list<i64> OptI64ListFoo,
    3: list<string> StrListFoo,
    4: optional list<string> OptStrListFoo,
    5: list<binary> BinListFoo,
    6: optional list<binary> OptBinListFoo,
    7: list<BasicEqualsFoo> StructListFoo,
    8: optional list<BasicEqualsFoo> OptStructListFoo,
    9: list<list<i64>> I64ListListFoo,
    10: optional list<list<i64>> OptI64ListListFoo,
    11: list<set<i64>> I64SetListFoo,
    12: optional list<set<i64>> OptI64SetListFoo,
    13: list<map<i64, string>> I64StringMapListFoo,
    14: optional list<map<i64, string>> OptI64StringMapListFoo,
    15: list<mybyte> MyByteListFoo,
    16: optional list<mybyte> OptMyByteListFoo,
    17: list<mystr> MyStrListFoo,
    18: optional list<mystr> OptMyStrListFoo,
    19: list<mybin> MyBinListFoo,
    20: optional list<mybin> OptMyBinListFoo,
}

struct SetEqualsFoo {
    1: set<i64> I64SetFoo,
    2: optional set<i64> OptI64SetFoo,
    3: set<string> StrSetFoo,
    4: optional set<string> OptStrSetFoo,
    5: set<binary> BinSetFoo,
    6: optional set<binary> OptBinSetFoo,
    7: set<BasicEqualsFoo> StructSetFoo,
    8: optional set<BasicEqualsFoo> OptStructSetFoo,
    9: set<list<i64>> I64ListSetFoo,
    10: optional set<list<i64>> OptI64ListSetFoo,
    11: set<set<i64>> I64SetSetFoo,
    12: optional set<set<i64>> OptI64SetSetFoo,
    13: set<map<i64, string>> I64StringMapSetFoo,
    14: optional set<map<i64, string>> OptI64StringMapSetFoo,
    15: set<mybyte> MyByteSetFoo,
    16: optional set<mybyte> OptMyByteSetFoo,
    17: set<mystr> MyStrSetFoo,
    18: optional set<mystr> OptMyStrSetFoo,
    19: set<mybin> MyBinSetFoo,
    20: optional set<mybin> OptMyBinSetFoo,
}

struct MapEqualsFoo {
    1: map<i64, string> I64StrMapFoo,
    2: optional map<i64, string> OptI64StrMapFoo,
    3: map<string, i64> StrI64MapFoo,
    4: optional map<string, i64>  OptStrI64MapFoo,
    5: map<BasicEqualsFoo, binary> StructBinMapFoo,
    6: optional map<BasicEqualsFoo, binary> OptStructBinMapFoo,
    7: map<binary, BasicEqualsFoo> BinStructMapFoo,
    8: optional map<binary, BasicEqualsFoo> OptBinStructMapFoo,
    9: map<i64, list<i64>> I64I64ListMapFoo,
    10: optional map<i64, list<i64>> OptI64I64ListMapFoo,
    11: map<i64, set<i64>> I64I64SetMapFoo,
    12: optional map<i64, set<i64>> OptI64I64SetMapFoo,
    13: map<i64, map<i64, string>> I64I64StringMapMapFoo,
    14: optional map<i64, map<i64, string>> OptI64I64StringMapMapFoo,
    15: map<mystr, mybin> MyStrMyBinMapFoo,
    16: optional map<mystr, mybin> OptMyStrMyBinMapFoo,
    17: map<i64, mybyte> Int64MyByteMapFoo,
    18: optional map<i64, mybyte> OptInt64MyByteMapFoo,
    19: map<mybyte, i64> MyByteInt64MapFoo,
    20: optional map<mybyte, i64> OptMyByteInt64MapFoo,
}