def METHOD_NAME(region, vpc_stack, parameterized_cfn_stacks_factory, random_az_selector):
    ec2_client = boto3.client("ec2", region_name=region)
    vpc_id = vpc_stack.cfn_outputs["VpcId"]
    public_subnet_cidr = CIDR_FOR_PUBLIC_SUBNETS[-1]
    private_subnet_cidr = CIDR_FOR_PRIVATE_SUBNETS[-1]
    availability_zone = random_az_selector(region, default_value="")
    internet_gateway_id = vpc_stack.cfn_resources["InternetGateway"]
    parameters = _get_cfn_parameters(
        availability_zone,
        internet_gateway_id=internet_gateway_id,
        vpc_id=vpc_id,
        public_cidr=public_subnet_cidr,
        private_cidr=private_subnet_cidr,
    )
    path = os.path.join("..", "..", "cloudformation", "networking", "public-private.cfn.json")
    stack_prefix = "integ-tests-networking"
    stack = parameterized_cfn_stacks_factory(region, path, stack_prefix, parameters, stack_is_under_test=True)
    public_subnet_id = stack.cfn_outputs["PublicSubnetId"]
    private_subnet_id = stack.cfn_outputs["PrivateSubnetId"]
    _assert_subnet_cidr(ec2_client, public_subnet_id, expected_subnet_cidr=public_subnet_cidr)
    _assert_subnet_cidr(ec2_client, private_subnet_id, expected_subnet_cidr=private_subnet_cidr)
    _assert_internet_gateway_id(ec2_client, vpc_id, expected_internet_gateway_id=internet_gateway_id)
    _assert_internet_gateway_in_subnet_route(ec2_client, public_subnet_id, internet_gateway_id)
    _assert_subnet_property(
        region, public_subnet_id, expected_autoassign_ip_value=True, expected_availability_zone=availability_zone
    )
    _assert_subnet_property(
        region, private_subnet_id, expected_autoassign_ip_value=False, expected_availability_zone=availability_zone
    )
    _assert_nat_in_subnet(ec2_client, public_subnet_id)
    _assert_nat_in_subnet_route(ec2_client, private_subnet_id)