diff --git a/test/net/addr/subnet.cpp b/test/net/addr/subnet.cpp
index 5024928..319a514 100644
--- a/test/net/addr/subnet.cpp
+++ b/test/net/addr/subnet.cpp
@@ -2,8 +2,12 @@
 
 #include <stdplus/net/addr/subnet.hpp>
 
+#include <string_view>
+
 #include <gtest/gtest.h>
 
+using std::literals::string_view_literals::operator""sv;
+
 namespace stdplus
 {
 
@@ -51,6 +55,17 @@
     EXPECT_TRUE(Subnet4(addr4Full, 0).contains(In4Addr{}));
 }
 
+TEST(Subnet4, FromStr)
+{
+    constexpr FromStr<Subnet4> fs;
+    EXPECT_THROW(fs("10"sv), std::invalid_argument);
+    EXPECT_THROW(fs("/10"sv), std::invalid_argument);
+    EXPECT_THROW(fs("0.0.0.0"sv), std::invalid_argument);
+    EXPECT_THROW(fs("0.0.0.0/"sv), std::invalid_argument);
+    EXPECT_THROW(fs("::/80"sv), std::invalid_argument);
+    EXPECT_EQ((SubnetAny{in_addr{}, 30}), fs("0.0.0.0/30"sv));
+}
+
 TEST(Subnet4, ToStr)
 {
     ToStrHandle<ToStr<Subnet4>> tsh;
@@ -111,6 +126,17 @@
     EXPECT_TRUE(Subnet6(addr6Full, 0).contains(In6Addr{}));
 }
 
+TEST(Subnet6, FromStr)
+{
+    constexpr FromStr<Subnet6> fs;
+    EXPECT_THROW(fs("10"sv), std::invalid_argument);
+    EXPECT_THROW(fs("/10"sv), std::invalid_argument);
+    EXPECT_THROW(fs("ff::"sv), std::invalid_argument);
+    EXPECT_THROW(fs("::/"sv), std::invalid_argument);
+    EXPECT_THROW(fs("0.0.0.0/0"sv), std::invalid_argument);
+    EXPECT_EQ((Subnet6{in6_addr{}, 80}), fs("::/80"sv));
+}
+
 TEST(Subnet6, ToStr)
 {
     ToStrHandle<ToStr<Subnet6>> tsh;
@@ -175,6 +201,18 @@
     EXPECT_FALSE(SubnetAny(addr4Full, 32).contains(InAnyAddr{In4Addr{}}));
 }
 
+TEST(SubnetAny, FromStr)
+{
+    constexpr FromStr<SubnetAny> fs;
+    EXPECT_THROW(fs("10"sv), std::invalid_argument);
+    EXPECT_THROW(fs("/10"sv), std::invalid_argument);
+    EXPECT_THROW(fs("0.0.0.0"sv), std::invalid_argument);
+    EXPECT_THROW(fs("0.0.0.0/"sv), std::invalid_argument);
+    EXPECT_EQ((SubnetAny{in_addr{}, 0}), fs("0.0.0.0/0"sv));
+    EXPECT_EQ((SubnetAny{in_addr{}, 30}), fs("0.0.0.0/30"sv));
+    EXPECT_EQ((SubnetAny{in6_addr{}, 80}), fs("::/80"sv));
+}
+
 TEST(SubnetAny, ToStr)
 {
     ToStrHandle<ToStr<SubnetAny>> tsh;
