// Path: src/treecmp/metric/RFClusterMetric.java
// public class RFClusterMetric extends BaseMetric implements Metric{
// 
//     public static double getRFClusterMetric(Tree t1, Tree t2) {
// 
//         IdGroup idGroup = TreeUtils.getLeafIdGroup(t1);
// 
//         BitSet[] bs1 = ClusterDist.RootedTree2BitSetArray(t1, idGroup);
//         BitSet[] bs2 = ClusterDist.RootedTree2BitSetArray(t2, idGroup);
// 
//         int size1 = bs1.length;
//         int size2 = bs2.length;
//         int hashSetSize=(4*(size1+1))/3;
// 
//         HashSet<BitSet> hs1=new HashSet<BitSet>(hashSetSize);
// 
//         for(int i=0;i<size1;i++){
//             hs1.add(bs1[i]);
//         }
// 
//         int common=0;
//         for(int i=0;i<size2;i++){
//             if (hs1.contains(bs2[i]))
//                 common++;
//         }
// 
//         double dist=((double)size1+(double)size2)*0.5-(double)common;
//         return dist;
// 
//     }
// 
//     
// 
//     public double getDistance(Tree t1, Tree t2, int... indexes) {
// 
//         return RFClusterMetric.getRFClusterMetric(t1, t2);
// 
//     }
// }


import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import pal.tree.Tree;
import treecmp.metric.RFClusterMetric;
import treecmp.test.util.TreeCreator;
package treecmp.metric.weighted;




class RFCWeightMetricTest {

    @BeforeEach
    void setUp() {
    }

    @AfterEach
    void tearDown() {
    }

    @Test
    void testGetDistanceForTheSameTreesResult_0() {
        RFCWeightMetric instance = new RFCWeightMetric();
// Path: src/treecmp/metric/RFClusterMetric.java
// public class RFClusterMetric extends BaseMetric implements Metric{
// 
//     public static double getRFClusterMetric(Tree t1, Tree t2) {
// 
//         IdGroup idGroup = TreeUtils.getLeafIdGroup(t1);
// 
//         BitSet[] bs1 = ClusterDist.RootedTree2BitSetArray(t1, idGroup);
//         BitSet[] bs2 = ClusterDist.RootedTree2BitSetArray(t2, idGroup);
// 
//         int size1 = bs1.length;
//         int size2 = bs2.length;
//         int hashSetSize=(4*(size1+1))/3;
// 
//         HashSet<BitSet> hs1=new HashSet<BitSet>(hashSetSize);
// 
//         for(int i=0;i<size1;i++){
//             hs1.add(bs1[i]);
//         }
// 
//         int common=0;
//         for(int i=0;i<size2;i++){
//             if (hs1.contains(bs2[i]))
//                 common++;
//         }
// 
//         double dist=((double)size1+(double)size2)*0.5-(double)common;
//         return dist;
// 
//     }
// 
//     
// 
//     public double getDistance(Tree t1, Tree t2, int... indexes) {
// 
//         return RFClusterMetric.getRFClusterMetric(t1, t2);
// 
//     }
// }


// Path: test/treecmp/metric/weighted/RFCWeightMetricTest.java
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import pal.tree.Tree;
import treecmp.metric.RFClusterMetric;
import treecmp.test.util.TreeCreator;

package treecmp.metric.weighted;




class RFCWeightMetricTest {

    @BeforeEach
    void setUp() {
    }

    @AfterEach
    void tearDown() {
    }

    @Test
    void testGetDistanceForTheSameTreesResult_0() {
        RFCWeightMetric instance = new RFCWeightMetric();
        RFClusterMetric rc = new RFClusterMetric();