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