Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(607)

Side by Side Diff: base/time/time_unittest.cc

Issue 945143002: base::Time multiplicative operator overloading (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/time/time.h" 5 #include "base/time/time.h"
6 6
7 #include <time.h> 7 #include <time.h>
8 8
9 #include <limits> 9 #include <limits>
10 #include <string> 10 #include <string>
(...skipping 850 matching lines...) Expand 10 before | Expand all | Expand 10 after
861 861
862 const int64 max_int64_minus_one = std::numeric_limits<int64>::max() - 1; 862 const int64 max_int64_minus_one = std::numeric_limits<int64>::max() - 1;
863 const int64 min_int64_plus_two = std::numeric_limits<int64>::min() + 2; 863 const int64 min_int64_plus_two = std::numeric_limits<int64>::min() + 2;
864 EXPECT_EQ(TimeDelta::FromMicroseconds(max_int64_minus_one), 864 EXPECT_EQ(TimeDelta::FromMicroseconds(max_int64_minus_one),
865 TimeDelta::FromMicroseconds(max_int64_minus_one).magnitude()); 865 TimeDelta::FromMicroseconds(max_int64_minus_one).magnitude());
866 EXPECT_EQ(TimeDelta::FromMicroseconds(max_int64_minus_one), 866 EXPECT_EQ(TimeDelta::FromMicroseconds(max_int64_minus_one),
867 TimeDelta::FromMicroseconds(min_int64_plus_two).magnitude()); 867 TimeDelta::FromMicroseconds(min_int64_plus_two).magnitude());
868 } 868 }
869 869
870 870
871 TEST(TimeDelta, multiply_by) { 871 TEST(TimeDelta, numeric_operators) {
872 double d = 0.5; 872 double d = 0.5;
873 EXPECT_EQ(TimeDelta::FromMilliseconds(500), 873 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
874 TimeDelta::FromMilliseconds(1000).multiply_by(d)); 874 TimeDelta::FromMilliseconds(1000) * d);
875 EXPECT_EQ(TimeDelta::FromMilliseconds(2000), 875 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
876 TimeDelta::FromMilliseconds(1000).divide_by(d)); 876 TimeDelta::FromMilliseconds(1000) / d);
877 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
878 TimeDelta::FromMilliseconds(1000) *= d);
879 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
880 TimeDelta::FromMilliseconds(1000) /= d);
881 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
882 d * TimeDelta::FromMilliseconds(1000));
883
884 float f = 0.5;
885 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
886 TimeDelta::FromMilliseconds(1000) * f);
887 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
888 TimeDelta::FromMilliseconds(1000) / f);
889 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
890 TimeDelta::FromMilliseconds(1000) *= f);
891 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
892 TimeDelta::FromMilliseconds(1000) /= f);
893 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
894 f * TimeDelta::FromMilliseconds(1000));
895
896
897 int i = 2;
898 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
899 TimeDelta::FromMilliseconds(1000) * i);
900 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
901 TimeDelta::FromMilliseconds(1000) / i);
902 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
903 TimeDelta::FromMilliseconds(1000) *= i);
904 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
905 TimeDelta::FromMilliseconds(1000) /= i);
906 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
907 i * TimeDelta::FromMilliseconds(1000));
908
909 int64_t i64 = 2;
910 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
911 TimeDelta::FromMilliseconds(1000) * i64);
912 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
913 TimeDelta::FromMilliseconds(1000) / i64);
914 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
915 TimeDelta::FromMilliseconds(1000) *= i64);
916 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
917 TimeDelta::FromMilliseconds(1000) /= i64);
918 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
919 i64 * TimeDelta::FromMilliseconds(1000));
920
921
922 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
923 TimeDelta::FromMilliseconds(1000) * 0.5);
924 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
925 TimeDelta::FromMilliseconds(1000) / 0.5);
926 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
927 TimeDelta::FromMilliseconds(1000) *= 0.5);
928 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
929 TimeDelta::FromMilliseconds(1000) /= 0.5);
930 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
931 0.5 * TimeDelta::FromMilliseconds(1000));
932
933 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
934 TimeDelta::FromMilliseconds(1000) * 2);
935 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
936 TimeDelta::FromMilliseconds(1000) / 2);
937 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
938 TimeDelta::FromMilliseconds(1000) *= 2);
939 EXPECT_EQ(TimeDelta::FromMilliseconds(500),
940 TimeDelta::FromMilliseconds(1000) /= 2);
941 EXPECT_EQ(TimeDelta::FromMilliseconds(2000),
942 2 * TimeDelta::FromMilliseconds(1000));
877 } 943 }
878 944
879 TEST(TimeDeltaLogging, DCheckEqCompiles) { 945 TEST(TimeDeltaLogging, DCheckEqCompiles) {
880 DCHECK_EQ(TimeDelta(), TimeDelta()); 946 DCHECK_EQ(TimeDelta(), TimeDelta());
881 } 947 }
882 948
883 TEST(TimeDeltaLogging, EmptyIsZero) { 949 TEST(TimeDeltaLogging, EmptyIsZero) {
884 TimeDelta zero; 950 TimeDelta zero;
885 EXPECT_EQ("0s", AnyToString(zero)); 951 EXPECT_EQ("0s", AnyToString(zero));
886 } 952 }
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
956 1022
957 TEST(TimeTicksLogging, DoesNotMakeStreamBad) { 1023 TEST(TimeTicksLogging, DoesNotMakeStreamBad) {
958 std::ostringstream oss; 1024 std::ostringstream oss;
959 oss << TimeTicks(); 1025 oss << TimeTicks();
960 EXPECT_TRUE(oss.good()); 1026 EXPECT_TRUE(oss.good());
961 } 1027 }
962 1028
963 } // namespace 1029 } // namespace
964 1030
965 } // namespace base 1031 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698