def METHOD_NAME(
    self, per_ch, signedness_to_force, init_w_as_middle_points, narrow_range
):
    qconfig = QuantizerConfig(
        num_bits=8, mode=QuantizationMode.SYMMETRIC, signedness_to_force=signedness_to_force, per_channel=per_ch
    )
    qspec = TFQuantizerSpec.from_config(qconfig, narrow_range=narrow_range, half_range=True)
    op_name = "quantizer"
    weight_attr = "kernel"
    layer = tf.keras.layers.Dense(DIM_SPLIT)
    layer = NNCFWrapper(layer)
    quantizer_cls = NNCF_QUANTIZATION_OPERATIONS.get(qspec.mode)
    quantizer = quantizer_cls(op_name, qspec)
    layer.registry_weight_operation(weight_attr, quantizer)
    layer.build(1)
    # Set layer weights
    ref_signed_var = -1 if signedness_to_force else 0
    ref_scale = 1
    low = ref_scale * ref_signed_var
    range_len = (1 - ref_signed_var) * ref_scale
    new_w = get_weights_for_overflow_issue_test(low, range_len, narrow_range, init_w_as_middle_points)
    layer.get_layer_weight(weight_attr).assign(new_w)
    # Check quantizer weights
    ops_weights = layer.ops_weights[op_name]
    assert (ops_weights["scale_var"].numpy() == ref_scale).all()
    assert (ops_weights["signed_var"].numpy() == ref_signed_var).all()
    w_int7 = layer(tf.ones((1, 1))).numpy()
    if init_w_as_middle_points:
        quant_len = range_len / (128 - (2 if narrow_range else 1))
        assert (np.abs(np.abs(w_int7 - new_w) - quant_len / 2) < 1e-6).all(), "Middle points calculated incorrectly"
    apply_overflow_fix_to_layer(layer, "kernel", quantizer)
    assert not quantizer._half_range  # pylint: disable=protected-access
    w_int8 = layer(tf.ones((1, 1))).numpy()
    check_quantized_values_equals(w_int7, w_int8, EPS, range_len, narrow_range)