/** Test the compare method with PointToPointFlows with both to modules NULL */
  @Test
  public void testCompareWithNullToModules() {
    // Setup
    Module fModule1 = new Module();
    fModule1.setId(1);
    this.setModules(fModule1, null, new Module(), null);

    // Expectations
    this.pointToPointFlowProfileIdExpectations();

    // Test
    comparisonResult = comparator.compare(pointToPointFlow1, pointToPointFlow2);

    // Verify
    Assert.assertEquals(0, comparisonResult);
  }
  /**
   * Test the compare method with PointToPointFlows with Tgt Module (value, NULL) vs Src Module
   * (NULL, value)
   */
  @Test
  public void testCompareTgtAndSrc() {
    // Setup
    Module fModule2 = new Module();
    fModule2.setId(4);
    Module tModule1 = new Module();
    tModule1.setId(1);
    this.setModules(fModule2, null, null, tModule1);

    // Expectations
    this.pointToPointFlowProfileIdExpectations();

    // Test
    comparisonResult = comparator.compare(pointToPointFlow1, pointToPointFlow2);

    // Verify
    Assert.assertEquals(1, comparisonResult);
  }
  /**
   * Test the compare method with PointToPointFlows with a Bridging Module (value, value) vs
   * Bridging Module (value, value). The Bridging modules are unrelated, e.g. (2, 3) (1, 4)
   */
  @Test
  public void testCompareBridgingAndBridgingUnrelated() {
    // Setup
    Module fModule1 = new Module();
    fModule1.setId(2);
    Module tModule1 = new Module();
    tModule1.setId(5);
    Module fModule2 = new Module();
    fModule2.setId(1);
    Module tModule2 = new Module();
    tModule2.setId(4);
    this.setModules(fModule1, tModule1, fModule2, tModule2);

    // Expectations
    this.pointToPointFlowProfileIdExpectations();

    // Test
    comparisonResult = comparator.compare(pointToPointFlow1, pointToPointFlow2);

    // Verify
    Assert.assertEquals(0, comparisonResult);
  }