Пример #1
0
  @Test
  public void testTurnFlagEncoding_withCosts() {
    FlagEncoder tmpEncoder = new CarFlagEncoder(8, 5, 127);
    EncodingManager em = new EncodingManager(tmpEncoder);

    long flags_r0 = tmpEncoder.getTurnFlags(true, 0);
    long flags_0 = tmpEncoder.getTurnFlags(false, 0);
    assertTrue(Double.isInfinite(tmpEncoder.getTurnCost(flags_r0)));
    assertEquals(0, tmpEncoder.getTurnCost(flags_0), 1e-1);
    assertTrue(tmpEncoder.isTurnRestricted(flags_r0));
    assertFalse(tmpEncoder.isTurnRestricted(flags_0));

    long flags_r20 = tmpEncoder.getTurnFlags(true, 0);
    long flags_20 = tmpEncoder.getTurnFlags(false, 20);
    assertTrue(Double.isInfinite(tmpEncoder.getTurnCost(flags_r20)));
    assertEquals(20, tmpEncoder.getTurnCost(flags_20), 1e-1);
    assertTrue(tmpEncoder.isTurnRestricted(flags_r20));
    assertFalse(tmpEncoder.isTurnRestricted(flags_20));

    long flags_r220 = tmpEncoder.getTurnFlags(true, 0);
    try {
      tmpEncoder.getTurnFlags(false, 220);
      assertTrue(false);
    } catch (Exception ex) {
    }
    assertTrue(Double.isInfinite(tmpEncoder.getTurnCost(flags_r220)));
    assertTrue(tmpEncoder.isTurnRestricted(flags_r220));
  }
Пример #2
0
  @Test
  public void testTurnFlagEncoding_noCosts() {
    FlagEncoder tmpEnc = new CarFlagEncoder(8, 5, 0);
    EncodingManager em = new EncodingManager(tmpEnc);

    long flags_r0 = tmpEnc.getTurnFlags(true, 0);
    long flags_0 = tmpEnc.getTurnFlags(false, 0);

    long flags_r20 = tmpEnc.getTurnFlags(true, 0);
    long flags_20 = tmpEnc.getTurnFlags(false, 20);

    assertEquals(0, tmpEnc.getTurnCost(flags_r0), 1e-1);
    assertEquals(0, tmpEnc.getTurnCost(flags_0), 1e-1);

    assertEquals(0, tmpEnc.getTurnCost(flags_r20), 1e-1);
    assertEquals(0, tmpEnc.getTurnCost(flags_20), 1e-1);

    assertFalse(tmpEnc.isTurnRestricted(flags_r0));
    assertFalse(tmpEnc.isTurnRestricted(flags_0));

    assertFalse(tmpEnc.isTurnRestricted(flags_r20));
    assertFalse(tmpEnc.isTurnRestricted(flags_20));
  }