1c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa/*
2c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa * Copyright (C) 2014 The Android Open Source Project
3c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa *
4c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa * Licensed under the Apache License, Version 2.0 (the "License");
5c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa * you may not use this file except in compliance with the License.
6c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa * You may obtain a copy of the License at
7c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa *
8c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa *      http://www.apache.org/licenses/LICENSE-2.0
9c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa *
10c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa * Unless required by applicable law or agreed to in writing, software
11c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa * distributed under the License is distributed on an "AS IS" BASIS,
12c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa * See the License for the specific language governing permissions and
14c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa * limitations under the License.
15c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa */
16c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa
17c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa#include "utils/autocorrection_threshold_utils.h"
18c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa
19c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa#include <gtest/gtest.h>
20c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa
21c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa#include <vector>
22c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa
23c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawanamespace latinime {
24c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawanamespace {
25c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa
26c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawaint CalcEditDistance(const std::vector<int> &before,
27c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa        const std::vector<int> &after) {
28c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa    return AutocorrectionThresholdUtils::editDistance(
29c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa            &before[0], before.size(), &after[0], after.size());
30c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa}
31c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa
32c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei YukawaTEST(AutocorrectionThresholdUtilsTest, SameData) {
33c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa    EXPECT_EQ(0, CalcEditDistance({1}, {1}));
34c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa    EXPECT_EQ(0, CalcEditDistance({2, 2}, {2, 2}));
35c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa    EXPECT_EQ(0, CalcEditDistance({3, 3, 3}, {3, 3, 3}));
36c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa}
37c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa
38c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa}  // namespace
39c72652cb00eb0a02c46bfcd95202deec068ba5e0Yohei Yukawa}  // namespace latinime
40