@Override
    public SplitWeight calculateSplitWeight(long splitSizeInBytes)
    {
        double computedWeight = splitSizeInBytes / standardSplitSizeInBytes;
        // Clamp the value between the minimum weight and 1.0 (standard weight)
        return SplitWeight.fromProportion(constrainToRange(computedWeight, minimumWeight, 1.0));
    }
@Test
    public void testCalculateSplitWeight()
    {
        double minimumWeight = 0.2;
        DataSize standardSplitSize = new DataSize(100, MEGABYTE);
        HudiSplitWeightProvider weightProvider = new SizeBasedSplitWeightProvider(minimumWeight, standardSplitSize);
        assertWeight(weightProvider, 0, minimumWeight);
        assertWeight(weightProvider, 200 * 1024 * 1024, 1.0);
        assertWeight(weightProvider, 50 * 1024 * 1024, 0.5);
        assertWeight(weightProvider, 10 * 1024 * 1024, minimumWeight);
    }