10TEST(AllocationSizeTest, CanCreateTypedAllocations) {
11 auto bytes =
Bytes{1024};
12 ASSERT_EQ(bytes.GetByteSize(), 1024u);
15 ASSERT_EQ(kilobytes.GetByteSize(), 5u * 1
e3);
18 ASSERT_EQ(megabytes.GetByteSize(), 5u * 1e6);
21 ASSERT_EQ(gigabytes.GetByteSize(), 5u * 1e9);
24 ASSERT_EQ(kibibytes.GetByteSize(), 1024u);
27 ASSERT_EQ(mebibytes.GetByteSize(), 1048576u);
30 ASSERT_EQ(gigibytes.GetByteSize(), 1073741824u);
33TEST(AllocationSizeTest, CanCreateTypedAllocationsWithLiterals) {
34 using namespace allocation_size_literals;
35 ASSERT_EQ((1024_bytes).GetByteSize(), 1024u);
36 ASSERT_EQ((5_kb).GetByteSize(), 5u * 1
e3);
37 ASSERT_EQ((5_mb).GetByteSize(), 5u * 1e6);
38 ASSERT_EQ((5_gb).GetByteSize(), 5u * 1e9);
39 ASSERT_EQ((1_kib).GetByteSize(), 1024u);
40 ASSERT_EQ((1_mib).GetByteSize(), 1048576u);
41 ASSERT_EQ((1_gib).GetByteSize(), 1073741824u);
49TEST(AllocationSizeTest, ConversionsAreNonTruncating) {
50 using namespace allocation_size_literals;
51 ASSERT_DOUBLE_EQ((1500_bytes).ConvertTo<KiloBytes>().GetSize(), 1.5);
52 ASSERT_EQ((1500_bytes).ConvertTo<KiloBytes>().GetByteSize(), 1500u);
91TEST(AllocationSizeTest, CanPerformSimpleArithmetic) {
92 using namespace allocation_size_literals;
96 ASSERT_EQ((a + b).GetByteSize(), 300u);
101 ASSERT_EQ(a.GetByteSize(), 300u);
106 ASSERT_EQ(a.GetByteSize(), 50u);