@@ -1507,7 +1507,8 @@ TEST(i32, OverflowingPow) {
1507
1507
1508
1508
EXPECT_EQ ((2_i32).overflowing_pow (5_u32),
1509
1509
(Tuple<i32 , bool >::with (32_i32, false )));
1510
- EXPECT_EQ ((2_i32).overflowing_pow (0_u32), (Tuple<i32 , bool >::with (1_i32, false )));
1510
+ EXPECT_EQ ((2_i32).overflowing_pow (0_u32),
1511
+ (Tuple<i32 , bool >::with (1_i32, false )));
1511
1512
EXPECT_EQ ((i32::MAX ()).overflowing_pow (1_u32),
1512
1513
(Tuple<i32 , bool >::with (i32::MAX (), false )));
1513
1514
EXPECT_EQ ((i32::MAX ()).overflowing_pow (2_u32),
@@ -1522,8 +1523,7 @@ TEST(i32, CheckedPow) {
1522
1523
EXPECT_EQ ((2_i32).checked_pow (0_u32), Option<i32 >::some (1_i32));
1523
1524
EXPECT_EQ ((2_i32).checked_pow (1_u32), Option<i32 >::some (2_i32));
1524
1525
EXPECT_EQ ((2_i32).checked_pow (30_u32), Option<i32 >::some (1_i32 << 30_u32));
1525
- EXPECT_EQ ((1_i32).checked_pow (u32::MAX ()),
1526
- Option<i32 >::some (1_i32));
1526
+ EXPECT_EQ ((1_i32).checked_pow (u32::MAX ()), Option<i32 >::some (1_i32));
1527
1527
EXPECT_EQ ((i32::MAX ()).checked_pow (1_u32), Option<i32 >::some (i32::MAX ()));
1528
1528
EXPECT_EQ ((i32::MAX ()).checked_pow (0_u32), Option<i32 >::some (1_i32));
1529
1529
@@ -1899,4 +1899,17 @@ TEST(i32, ToNeBytes) {
1899
1899
}
1900
1900
}
1901
1901
1902
+ TEST (i32 , From) {
1903
+ static_assert (sus::concepts::from::From<i32 , u32 >);
1904
+
1905
+ // TODO: Add all the integer types as they exist.
1906
+ EXPECT_EQ (i32::from (2_i32), 2_i32);
1907
+ EXPECT_EQ (i32::from (2_u32), 2_i32);
1908
+ }
1909
+
1910
+ TEST (i32DeathTest, FromOutOfRange) {
1911
+ // TODO: Add all the integer types as they exist.
1912
+ EXPECT_DEATH (i32::from (u32::MAX ()), " " );
1913
+ }
1914
+
1902
1915
} // namespace
0 commit comments