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