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