-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathRomeDigitsTest.cpp
More file actions
75 lines (68 loc) · 3.34 KB
/
Copy pathRomeDigitsTest.cpp
File metadata and controls
75 lines (68 loc) · 3.34 KB
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
//Copyright [2018] [Haibo Yan]
//
//Licensed 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.
//
// Created by haibo on 3/16/18.
//
#include "gtest/gtest.h"
#include "../../algorithm/misc/RomeDigits.h"
TEST(RomeDigitsTest, int_to_rome) {
RomeDigits rd;
vector<tuple<int, string>> test_data = {{1, "I"},
{2, "II"},
{3, "III"},
{4, "IV"},
{5, "V"},
{6, "VI"},
{7, "VII"},
{8, "VIII"},
{9, "IX"},
{10, "X"},
{11, "XI"},
{12, "XII"},
{13, "XIII"},
{14, "XIV"},
{15, "XV"},
{16, "XVI"},
{17, "XVII"},
{18, "XVIII"},
{19, "XIX"},
{20, "XX"},
{21, "XXI"},
{22, "XXII"},
{23, "XXIII"},
{24, "XXIV"},
{25, "XXV"},
{26, "XXVI"},
{27, "XXVII"},
{28, "XXVIII"},
{29, "XXIX"},
{30, "XXX"},
{49, "XLIX"},
{50, "L"},
{51, "LI"},
{59, "LIX"},
{60, "LX"},
{61, "LXI"},
{69, "LXIX"},
{70, "LXX"},
{71, "LXXI"},
{3499, "MMMCDXCIX"}
};
for (auto data = test_data.begin(); data != test_data.end(); data++) {
ASSERT_EQ(get<1>(*data), rd.int_to_rome(get<0>(*data)));
}
for (auto data = test_data.begin(); data != test_data.end(); data++) {
ASSERT_EQ(get<0>(*data), rd.rome_to_int(get<1>(*data)));
}
}