1c55a96383497a772a307b346368133960b02ad03Eric Laurent/*
2c55a96383497a772a307b346368133960b02ad03Eric Laurent *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3c55a96383497a772a307b346368133960b02ad03Eric Laurent *
4c55a96383497a772a307b346368133960b02ad03Eric Laurent *  Use of this source code is governed by a BSD-style license
5c55a96383497a772a307b346368133960b02ad03Eric Laurent *  that can be found in the LICENSE file in the root of the source
6c55a96383497a772a307b346368133960b02ad03Eric Laurent *  tree. An additional intellectual property rights grant can be found
7c55a96383497a772a307b346368133960b02ad03Eric Laurent *  in the file PATENTS.  All contributing project authors may
8c55a96383497a772a307b346368133960b02ad03Eric Laurent *  be found in the AUTHORS file in the root of the source tree.
9c55a96383497a772a307b346368133960b02ad03Eric Laurent */
10c55a96383497a772a307b346368133960b02ad03Eric Laurent
11c55a96383497a772a307b346368133960b02ad03Eric Laurent#include <string>
12c55a96383497a772a307b346368133960b02ad03Eric Laurent
13c55a96383497a772a307b346368133960b02ad03Eric Laurent#include "data_log.h"
14c55a96383497a772a307b346368133960b02ad03Eric Laurent#include "gtest/gtest.h"
15c55a96383497a772a307b346368133960b02ad03Eric Laurent
16c55a96383497a772a307b346368133960b02ad03Eric Laurentusing ::webrtc::DataLog;
17c55a96383497a772a307b346368133960b02ad03Eric Laurent
18c55a96383497a772a307b346368133960b02ad03Eric LaurentTEST(TestDataLog, IntContainers) {
19c55a96383497a772a307b346368133960b02ad03Eric Laurent  int c = 5;
20c55a96383497a772a307b346368133960b02ad03Eric Laurent  webrtc::ValueContainer<int> v1(c);
21c55a96383497a772a307b346368133960b02ad03Eric Laurent  c = 10;
22c55a96383497a772a307b346368133960b02ad03Eric Laurent  webrtc::ValueContainer<int> v2(c);
23c55a96383497a772a307b346368133960b02ad03Eric Laurent  std::string s1, s2;
24c55a96383497a772a307b346368133960b02ad03Eric Laurent  v1.ToString(&s1);
25c55a96383497a772a307b346368133960b02ad03Eric Laurent  v2.ToString(&s2);
26c55a96383497a772a307b346368133960b02ad03Eric Laurent  ASSERT_EQ(s1, "5,");
27c55a96383497a772a307b346368133960b02ad03Eric Laurent  ASSERT_EQ(s2, "10,");
28c55a96383497a772a307b346368133960b02ad03Eric Laurent  v1 = v2;
29c55a96383497a772a307b346368133960b02ad03Eric Laurent  v1.ToString(&s1);
30c55a96383497a772a307b346368133960b02ad03Eric Laurent  ASSERT_EQ(s1, s2);
31c55a96383497a772a307b346368133960b02ad03Eric Laurent}
32c55a96383497a772a307b346368133960b02ad03Eric Laurent
33c55a96383497a772a307b346368133960b02ad03Eric LaurentTEST(TestDataLog, DoubleContainers) {
34c55a96383497a772a307b346368133960b02ad03Eric Laurent  double c = 3.5;
35c55a96383497a772a307b346368133960b02ad03Eric Laurent  webrtc::ValueContainer<double> v1(c);
36c55a96383497a772a307b346368133960b02ad03Eric Laurent  c = 10.3;
37c55a96383497a772a307b346368133960b02ad03Eric Laurent  webrtc::ValueContainer<double> v2(c);
38c55a96383497a772a307b346368133960b02ad03Eric Laurent  std::string s1, s2;
39c55a96383497a772a307b346368133960b02ad03Eric Laurent  v1.ToString(&s1);
40c55a96383497a772a307b346368133960b02ad03Eric Laurent  v2.ToString(&s2);
41c55a96383497a772a307b346368133960b02ad03Eric Laurent  ASSERT_EQ(s1, "3.5,");
42c55a96383497a772a307b346368133960b02ad03Eric Laurent  ASSERT_EQ(s2, "10.3,");
43c55a96383497a772a307b346368133960b02ad03Eric Laurent  v1 = v2;
44c55a96383497a772a307b346368133960b02ad03Eric Laurent  v1.ToString(&s1);
45c55a96383497a772a307b346368133960b02ad03Eric Laurent  ASSERT_EQ(s1, s2);
46c55a96383497a772a307b346368133960b02ad03Eric Laurent}
47c55a96383497a772a307b346368133960b02ad03Eric Laurent
48c55a96383497a772a307b346368133960b02ad03Eric LaurentTEST(TestDataLog, MultiValueContainers) {
49c55a96383497a772a307b346368133960b02ad03Eric Laurent  int a[3] = {1, 2, 3};
50c55a96383497a772a307b346368133960b02ad03Eric Laurent  int b[3] = {4, 5, 6};
51c55a96383497a772a307b346368133960b02ad03Eric Laurent  webrtc::MultiValueContainer<int> m1(a, 3);
52c55a96383497a772a307b346368133960b02ad03Eric Laurent  webrtc::MultiValueContainer<int> m2(b, 3);
53c55a96383497a772a307b346368133960b02ad03Eric Laurent  webrtc::MultiValueContainer<int> m3(a, 3);
54c55a96383497a772a307b346368133960b02ad03Eric Laurent  std::string s1, s2, s3;
55c55a96383497a772a307b346368133960b02ad03Eric Laurent  m1.ToString(&s1);
56c55a96383497a772a307b346368133960b02ad03Eric Laurent  m2.ToString(&s2);
57c55a96383497a772a307b346368133960b02ad03Eric Laurent  ASSERT_EQ(s1, "1,2,3,");
58c55a96383497a772a307b346368133960b02ad03Eric Laurent  ASSERT_EQ(s2, "4,5,6,");
59c55a96383497a772a307b346368133960b02ad03Eric Laurent  m1 = m2;
60c55a96383497a772a307b346368133960b02ad03Eric Laurent  m1.ToString(&s1);
61c55a96383497a772a307b346368133960b02ad03Eric Laurent  ASSERT_EQ(s1, s2);
62c55a96383497a772a307b346368133960b02ad03Eric Laurent  m3.ToString(&s3);
63c55a96383497a772a307b346368133960b02ad03Eric Laurent  ASSERT_EQ(s3, "1,2,3,");
64c55a96383497a772a307b346368133960b02ad03Eric Laurent}
65