1/*******************************************************************************
2* Copyright 2017-2022 Intel Corporation
3*
4* Licensed under the Apache License, Version 2.0 (the "License");
5* you may not use this file except in compliance with the License.
6* You may obtain a copy of the License at
7*
8* http://www.apache.org/licenses/LICENSE-2.0
9*
10* Unless required by applicable law or agreed to in writing, software
11* distributed under the License is distributed on an "AS IS" BASIS,
12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13* See the License for the specific language governing permissions and
14* limitations under the License.
15*******************************************************************************/
16
17#include <stdlib.h>
18#include <string.h>
19
20#include "conv/conv.hpp"
21#include "self/self.hpp"
22
23using namespace conv;
24
25namespace self {
26
27static int check_simple_enums() {
28 /* alg */
29 SELF_CHECK_CASE_STR_EQ(alg2str(alg_t::AUTO), "auto");
30 SELF_CHECK_CASE_STR_NE(alg2str(alg_t::AUTO), "autox");
31
32 SELF_CHECK_CASE_STR_EQ(alg2str(alg_t::DIRECT), "direct");
33 SELF_CHECK_CASE_STR_NE(alg2str(alg_t::DIRECT), "directx");
34
35 SELF_CHECK_CASE_STR_EQ(alg2str(alg_t::WINO), "wino");
36 SELF_CHECK_CASE_STR_NE(alg2str(alg_t::WINO), "winox");
37
38 SELF_CHECK_EQ(str2alg("auto"), alg_t::AUTO);
39 SELF_CHECK_EQ(str2alg("AUTO"), alg_t::AUTO);
40
41 SELF_CHECK_EQ(str2alg("direct"), alg_t::DIRECT);
42 SELF_CHECK_EQ(str2alg("DIRECT"), alg_t::DIRECT);
43
44 SELF_CHECK_EQ(str2alg("wino"), alg_t::WINO);
45 SELF_CHECK_EQ(str2alg("WINO"), alg_t::WINO);
46
47 return OK;
48}
49
50void conv() {
51 RUN(check_simple_enums());
52}
53
54} // namespace self
55