TEST(ResourcesTest, Resources) { Resources r = Resources::parse( "cpus:45.55;mem:1024;ports:[10000-20000, 30000-50000];disk:512").get(); EXPECT_SOME_EQ(45.55, r.cpus()); EXPECT_SOME_EQ(Megabytes(1024), r.mem()); EXPECT_SOME_EQ(Megabytes(512), r.disk()); ASSERT_SOME(r.ports()); ostringstream ports; ports << r.ports().get(); EXPECT_EQ("[10000-20000, 30000-50000]", ports.str()); r = Resources::parse("cpus:45.55;disk:512").get(); EXPECT_SOME_EQ(45.55, r.cpus()); EXPECT_SOME_EQ(Megabytes(512), r.disk()); EXPECT_TRUE(r.mem().isNone()); EXPECT_TRUE(r.ports().isNone()); }