Package org.libreplan.business.orders.entities

Examples of org.libreplan.business.orders.entities.OrderLine


    @Test
    @Transactional
    public void checkAdvancePercentageOrderLineWithTwoAssignments1()
            throws DuplicateValueTrueReportGlobalAdvanceException,
            DuplicateAdvanceAssignmentForOrderElementException {
        OrderLine orderLine = givenOrderLine("name", "code", 1000);

        addAvanceAssignmentWithMeasurement(orderLine,
                givenAdvanceType("test1"), new BigDecimal(2000),
                new BigDecimal(200), true);

        addAvanceAssignmentWithMeasurement(orderLine,
                givenAdvanceType("test2"), new BigDecimal(1000),
                new BigDecimal(600), false);
        assertThat(orderLine.getAdvancePercentage(),
                sameValueAs(division.divide(10, 4)));
    }
View Full Code Here


    @Test
    @Transactional
    public void checkAdvancePercentageOrderLineWithFutureAdvanceMeasurement()
            throws DuplicateValueTrueReportGlobalAdvanceException,
            DuplicateAdvanceAssignmentForOrderElementException {
        OrderLine orderLine = givenOrderLine("name", "code", 1000);

        LocalDate future = new LocalDate().plusWeeks(1);
        addAvanceAssignmentWithMeasurement(orderLine,
                givenAdvanceType("test1"), new BigDecimal(2000),
                new BigDecimal(200), true, future);

        assertThat(orderLine.getAdvancePercentage(),
                sameValueAs(division.divide(4, 100)));
    }
View Full Code Here

    @Test
    @Transactional
    public void checkAdvancePercentageOrderLineWithTwoAssignments3()
            throws DuplicateValueTrueReportGlobalAdvanceException,
            DuplicateAdvanceAssignmentForOrderElementException {
        OrderLine orderLine = givenOrderLine("name", "code", 1000);

        addAvanceAssignmentWithMeasurement(orderLine,
                PredefinedAdvancedTypes.UNITS.getType(), new BigDecimal(2000),
                new BigDecimal(200), false);

        addAvanceAssignmentWithMeasurement(orderLine,
                PredefinedAdvancedTypes.PERCENTAGE.getType(), new BigDecimal(
                        1000), new BigDecimal(600), true);

        assertThat(orderLine.getAdvancePercentage(),
                sameValueAs(division.divide(60, 100)));
    }
View Full Code Here

    @Test
    @Transactional
    public void checkAdvancePercentageOrderLineWithThreeAssignments()
            throws DuplicateValueTrueReportGlobalAdvanceException,
            DuplicateAdvanceAssignmentForOrderElementException {
        OrderLine orderLine = givenOrderLine("name", "code", 1000);

        addAvanceAssignmentWithMeasurement(orderLine,
                givenAdvanceType("test1"), new BigDecimal(2000),
                new BigDecimal(200), false);

        addAvanceAssignmentWithMeasurement(orderLine,
                givenAdvanceType("test3"), new BigDecimal(4000),
                new BigDecimal(800), true);

        addAvanceAssignmentWithMeasurement(orderLine,
                givenAdvanceType("test2"), new BigDecimal(1000),
                new BigDecimal(600), false);

        assertThat(orderLine.getAdvancePercentage(),
                sameValueAs(division.divide(20, 100)));
    }
View Full Code Here

        orderLineGroup_1_1.setName("OrderLineGroup 1.1");
        orderLineGroup_1_1.setCode("1.1");

        orderLineGroup_1.useSchedulingDataFor(mockedOrderVersion);

        OrderLine orderLine_1_1_1 = givenOrderLine("OrderLine 1.1.1", "1.1.1",
                1000);

        orderLineGroup_1.add(orderLineGroup_1_1);
        orderLineGroup_1_1.add(orderLine_1_1_1);
View Full Code Here

        orderLineGroup_1.useSchedulingDataFor(mockedOrderVersion);
        OrderLineGroup orderLineGroup_1_1 = OrderLineGroup.create();
        orderLineGroup_1_1.setName("OrderLineGroup 1.1");
        orderLineGroup_1_1.setCode("1.1");

        OrderLine orderLine_1_1_1 = givenOrderLine("OrderLine 1.1.1", "1.1.1",
                1000);

        orderLineGroup_1.add(orderLineGroup_1_1);
        orderLineGroup_1_1.add(orderLine_1_1_1);
View Full Code Here

        container1.useSchedulingDataFor(mockedOrderVersion);
        order.add(container1);
        OrderLineGroup container2 = OrderLineGroup.create();
        container2.useSchedulingDataFor(mockedOrderVersion);
        container1.add(container2);
        OrderLine line = OrderLine.createOrderLineWithUnfixedPercentage(100);
        line.useSchedulingDataFor(mockedOrderVersion);
        container2.add(line);

        CriterionType type = CriterionType.create("", "");
        type.setResource(ResourceEnum.WORKER);
        CriterionRequirement requirement = DirectCriterionRequirement
                .create(Criterion.create(type));
        order.addDirectCriterionRequirement(requirement);

        assertThat(container2.getCriterionRequirements().size(), equalTo(1));
        IndirectCriterionRequirement requirementAtContainer = (IndirectCriterionRequirement) container2
                .getCriterionRequirements().iterator().next();

        container2.setValidCriterionRequirement(requirementAtContainer, false);

        assertThat(container1.getCriterionRequirements().size(), equalTo(1));
        assertTrue(container1.getCriterionRequirements().iterator().next()
                .isValid());

        assertThat(container2.getCriterionRequirements().size(), equalTo(1));
        assertFalse(container2.getCriterionRequirements().iterator().next()
                .isValid());

        assertThat(line.getCriterionRequirements().size(), equalTo(1));
        assertFalse(line.getCriterionRequirements().iterator().next().isValid());

        assertThat(line.getHoursGroups().size(), equalTo(1));
        assertThat(line.getHoursGroups().get(0).getCriterionRequirements()
                .size(), equalTo(1));
        assertFalse(line.getHoursGroups().get(0).getCriterionRequirements()
                .iterator().next().isValid());
    }
View Full Code Here

    @Test
    @Transactional
    public void checkSpreadAdvanceInOrderLine()
            throws DuplicateValueTrueReportGlobalAdvanceException,
            DuplicateAdvanceAssignmentForOrderElementException {
        OrderLine orderLine = givenOrderLine("element", "element-code", 100);

        AdvanceType advanceType1 = PredefinedAdvancedTypes.PERCENTAGE.getType();
        AdvanceType advanceType2 = PredefinedAdvancedTypes.UNITS.getType();

        addAvanceAssignmentWithoutMeasurement(orderLine, advanceType1,
                BigDecimal.TEN, true);
        addAvanceAssignmentWithoutMeasurement(orderLine, advanceType2,
                BigDecimal.TEN, false);

        assertThat(orderLine.getReportGlobalAdvanceAssignment()
                .getAdvanceType(), equalTo(advanceType1));
        assertNotNull(orderLine.getReportGlobalAdvanceAssignment());

        orderLine.removeAdvanceAssignment(orderLine
                .getAdvanceAssignmentByType(advanceType1));

        assertNotNull(orderLine.getReportGlobalAdvanceAssignment());
        assertThat(orderLine.getReportGlobalAdvanceAssignment()
                .getAdvanceType(), equalTo(advanceType2));
    }
View Full Code Here

    }

    @Test
    @Transactional
    public void checkPositiveBudgetInOrderLine() {
        OrderLine line = givenOrderLine("task", "code", 10);
        line.setBudget(new BigDecimal(100));
        assertThat(line.getBudget(), equalTo(new BigDecimal(100).setScale(2)));
    }
View Full Code Here

    }

    @Test(expected = IllegalArgumentException.class)
    @Transactional
    public void checkNonNegativeBudgetInOrderLine() {
        OrderLine line = givenOrderLine("task", "code", 10);
        line.setBudget(new BigDecimal(-100));
    }
View Full Code Here

TOP

Related Classes of org.libreplan.business.orders.entities.OrderLine

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.