summaryrefslogtreecommitdiffstats
path: root/src/jaegertracing/thrift/lib/erl/test/test_thrift_3214.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/jaegertracing/thrift/lib/erl/test/test_thrift_3214.erl')
-rw-r--r--src/jaegertracing/thrift/lib/erl/test/test_thrift_3214.erl60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/jaegertracing/thrift/lib/erl/test/test_thrift_3214.erl b/src/jaegertracing/thrift/lib/erl/test/test_thrift_3214.erl
new file mode 100644
index 000000000..0f9544bef
--- /dev/null
+++ b/src/jaegertracing/thrift/lib/erl/test/test_thrift_3214.erl
@@ -0,0 +1,60 @@
+%%
+%% 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.
+%%
+
+-module(test_thrift_3214).
+-compile(export_all).
+
+-include("gen-erl/thrift3214_types.hrl").
+
+-ifdef(TEST).
+-ifndef(otp16_or_less).
+-include_lib("eunit/include/eunit.hrl").
+
+record_generation_test_() ->
+ [
+ {"StringMap record", ?_assertMatch(
+ {'StringMap', _},
+ #'StringMap'{data=#{50 => "foo"}}
+ )},
+ {"StringMap record defaults", ?_assertEqual(
+ {'StringMap', #{1 => "a", 2 => "b"}},
+ #'StringMap'{}
+ )},
+ {"StringMap record dict from list", ?_assertNotEqual(
+ {'StringMap', dict:from_list([{1, "a"}, {2, "b"}])},
+ #'StringMap'{}
+ )},
+ {"StringMap record map from list", ?_assertEqual(
+ {'StringMap', maps:from_list([{1, "a"}, {2, "b"}])},
+ #'StringMap'{}
+ )}
+ ].
+
+struct_info_test_() ->
+ [
+ {"StringMap extended definition", ?_assertEqual(
+ {struct, [
+ {1, undefined, {map, i32, string}, 'data', #{1 => "a", 2 => "b"}}
+ ]},
+ thrift3214_types:struct_info_ext('StringMap')
+ )}
+ ].
+
+-endif.
+-endif.