@Test
  public void testgetRegionNetworks() {

    ProductRelease productRelease = new ProductRelease("product", "2.0");
    List<ProductRelease> productReleases = new ArrayList<ProductRelease>();
    productReleases.add(productRelease);

    Tier tier = new Tier("name1", new Integer(1), new Integer(5), new Integer(1), productReleases);
    tier.setRegion("region1");
    tier.addNetwork(new Network("uno2", VDC, REGION));

    Tier tier3 = new Tier("name3", new Integer(1), new Integer(5), new Integer(1), productReleases);
    tier3.setRegion("region3");
    tier3.addNetwork(new Network("uno2", VDC, REGION));

    Tier tier2 = new Tier("name2", new Integer(1), new Integer(5), new Integer(1), productReleases);
    tier2.setRegion("region2");
    tier2.addNetwork(new Network("uno", VDC, REGION));

    Tier tier4 = new Tier("name5", new Integer(1), new Integer(5), new Integer(1), productReleases);
    tier4.setRegion("region2");
    tier4.addNetwork(new Network("uno2", VDC, REGION));

    Set<Tier> tiers = new HashSet<Tier>();
    tiers.add(tier);
    tiers.add(tier2);
    tiers.add(tier3);
    tiers.add(tier4);

    Environment envResult = new Environment("environemntName", tiers);
    Set<String> nets = envResult.getFederatedNetworks();
    assertEquals(nets.size(), 1);
  }
  @Test
  public void testEnvironmentII() {

    Tier tier = new Tier("name1", new Integer(1), new Integer(5), new Integer(1), null);
    tier.setRegion("region1");
    tier.addNetwork(new Network("uno2", VDC, REGION));

    Tier tier3 = new Tier("name3", new Integer(1), new Integer(5), new Integer(1), null);
    tier3.setRegion("region3");
    tier3.addNetwork(new Network("uno2", VDC, REGION));

    Tier tier2 = new Tier("name2", new Integer(1), new Integer(5), new Integer(1), null);
    tier2.setRegion("region2");
    tier2.addNetwork(new Network("uno", VDC, REGION));

    Set<Tier> tiers = new HashSet<Tier>();
    tiers.add(tier);

    Environment envResult = new Environment("environemntName", tiers);
    assertEquals(envResult.getTiers().size(), 1);

    envResult.addTier(tier2);
    assertEquals(envResult.getTiers().size(), 2);

    envResult.deleteTier(tier);
    assertEquals(envResult.getTiers().size(), 1);

    envResult.updateTier(tier2, tier3);

    for (Tier t : envResult.getTiers()) {
      assertEquals(t.getName(), "name3");
    }
  }
  @Test
  public void testIsNetworkFederated() {

    ProductRelease productRelease = new ProductRelease("product", "2.0");
    List<ProductRelease> productReleases = new ArrayList<ProductRelease>();
    productReleases.add(productRelease);

    Tier tier = new Tier("name1", new Integer(1), new Integer(5), new Integer(1), productReleases);
    tier.setRegion("region1");
    tier.addNetwork(new Network("uno", VDC, REGION));

    Tier tier2 = new Tier("name2", new Integer(1), new Integer(5), new Integer(1), productReleases);
    tier2.setRegion("region2");
    tier2.addNetwork(new Network("uno", VDC, REGION));

    Set<Tier> tiers = new HashSet<Tier>();
    tiers.add(tier);
    tiers.add(tier2);

    Environment envResult = new Environment("environemntName", tiers, "description", "ORG", VDC);
    envResult.setName("environemntName");
    envResult.setTiers(tiers);

    boolean result = envResult.isNetworkFederated();
    assertEquals(result, true);
    assertEquals(envResult.getDescription(), "description");
    assertEquals(envResult.getVdc(), VDC);
    assertEquals(envResult.getOrg(), "ORG");
  }
  public void testGetNetworkWithRegionAndName() {
    Tier tier = new Tier("name1", new Integer(1), new Integer(5), new Integer(1), null);
    tier.setRegion(REGION);
    tier.addNetwork(new Network("uno2", VDC, REGION));

    Tier tier3 = new Tier("name3", new Integer(1), new Integer(5), new Integer(1), null);
    tier3.setRegion("region3");
    tier3.addNetwork(new Network("uno3", VDC, REGION + 3));

    Set<Tier> tiers = new HashSet<Tier>();
    tiers.add(tier);
    tiers.add(tier3);

    Environment envResult = new Environment("environemntName", tiers);

    Network net = envResult.getNetworkWithRegionAndName(REGION, "uno2");
    Network net2 = envResult.getNetworkWithRegionAndName(REGION + 3, "uno3");
    assertEquals(net.getNetworkName(), "uno2");
    assertEquals(net2.getNetworkName(), "uno3");
    assertNull(envResult.getNetworkWithRegionAndName(REGION + 3, "noexists"));
  }