Package lv.odylab.evemanage.client.rpc.dto.calculation

Examples of lv.odylab.evemanage.client.rpc.dto.calculation.CalculationItemDto


    }

    @Test
    public void testBuild() {
        CalculationDto calculation = new CalculationDto();
        CalculationItemDto calculationItem1 = new CalculationItemDto();
        calculationItem1.setPathExpression(new PathExpression(new Long[]{1L, 2L, 3L}));
        CalculationItemDto calculationItem2 = new CalculationItemDto();
        calculationItem2.setPathExpression(new PathExpression(new Long[]{1L, 2L, 4L}));
        List<CalculationItemDto> calculationItems = new ArrayList<CalculationItemDto>();
        calculationItems.add(calculationItem1);
        calculationItems.add(calculationItem2);
        calculation.setItems(calculationItems);
        calculationTree.build(calculation);
View Full Code Here


        for (Map.Entry<Long, CalculationTreeNode> node : nodeMap.entrySet()) {
            CalculationTreeNode calculationTreeNode = node.getValue();
            if (calculationTreeNode.getNodeMap().size() > 0 && !calculationTreeNode.isExcludeChildNodesFromCalculation()) {
                recursivelyPopulateCalculationExpressionWithPriceInformation(calculationTreeNode, typeIdToPriceMap);
            } else {
                CalculationItemDto calculationItem = calculationTreeNode.getCalculationItems().get(0);
                typeIdToPriceMap.put(calculationItem.getItemTypeID(), calculationItem.getPrice());
            }
        }
        for (Map.Entry<Long, BigDecimal> entry : typeIdToPriceMap.entrySet()) {
            Long typeID = entry.getKey();
            BigDecimal price = entry.getValue();
View Full Code Here

        for (Map.Entry<Long, CalculationTreeNode> node : treeNode.getNodeMap().entrySet()) {
            CalculationTreeNode calculationTreeNode = node.getValue();
            if (calculationTreeNode.getNodeMap().size() > 0 && !calculationTreeNode.isExcludeChildNodesFromCalculation()) {
                recursivelyPopulateCalculationExpressionWithPriceInformation(calculationTreeNode, typeIdToPriceMap);
            } else {
                CalculationItemDto calculationItem = calculationTreeNode.getCalculationItems().get(0);
                typeIdToPriceMap.put(calculationItem.getItemTypeID(), calculationItem.getPrice());
            }
        }
    }
View Full Code Here

        calculationItems.add(calculationItem);
    }

    public CalculationTreeNodeSummary getSummary() {
        CalculationTreeNodeSummary summary = new CalculationTreeNodeSummary();
        CalculationItemDto firstCalculationItemDto = calculationItems.get(0);
        PathExpression pathExpression = firstCalculationItemDto.getPathExpression();
        summary.setPathNodesString(pathExpression.getPathNodesString());
        summary.setPathNodes(pathExpression.getPathNodes());
        summary.setItemTypeID(firstCalculationItemDto.getItemTypeID());
        summary.setItemCategoryID(firstCalculationItemDto.getItemCategoryID());
        summary.setItemTypeName(firstCalculationItemDto.getItemTypeName());
        summary.setItemTypeIcon(firstCalculationItemDto.getItemTypeIcon());
        summary.setParentQuantity(firstCalculationItemDto.getParentQuantity());
        summary.setDamagePerJob(firstCalculationItemDto.getDamagePerJob());
        summary.setPrice(firstCalculationItemDto.getPrice());
        if (calculationItems.size() > 1) {
            Long quantity = 0L;
            BigDecimal totalPrice = BigDecimal.ZERO;
            BigDecimal totalPriceForParent = BigDecimal.ZERO;
            for (CalculationItemDto nodeCalculationItem : calculationItems) {
                quantity += nodeCalculationItem.getQuantity();
                totalPrice = totalPrice.add(nodeCalculationItem.getTotalPrice());
                totalPriceForParent = totalPriceForParent.add(nodeCalculationItem.getTotalPriceForParent());
            }
            summary.setQuantity(quantity);
            summary.setTotalPrice(totalPrice);
            summary.setTotalPriceForParent(totalPriceForParent);
        } else {
            summary.setQuantity(firstCalculationItemDto.getQuantity());
            summary.setTotalPrice(firstCalculationItemDto.getTotalPrice());
            summary.setTotalPriceForParent(firstCalculationItemDto.getTotalPriceForParent());
        }
        return summary;
    }
View Full Code Here

        assertNotNull(calculationTree.getNodeByPathNodes(new Long[]{1L, 2L, 4L}));
    }

    @Test
    public void testCreateNode_FirstNodeMustBeIgnored() {
        CalculationItemDto calculationItem = new CalculationItemDto();
        calculationItem.setPathExpression(new PathExpression(new Long[]{1L, 2L, 3L}));
        calculationTree.createNode(calculationItem);

        Map<Long, CalculationTreeNode> nodeMap = calculationTree.getNodeMap();
        assertNull(nodeMap.get(1L));
        CalculationTreeNode node2 = nodeMap.get(2L);
View Full Code Here

        assertNotNull(node3);
    }

    @Test
    public void testCreateNode_AddingChildren() {
        CalculationItemDto calculationItem1 = new CalculationItemDto();
        calculationItem1.setPathExpression(new PathExpression(new Long[]{1L, 2L, 3L}));
        calculationTree.createNode(calculationItem1);
        CalculationItemDto calculationItem2 = new CalculationItemDto();
        calculationItem2.setPathExpression(new PathExpression(new Long[]{1L, 2L, 4L}));
        calculationTree.createNode(calculationItem2);

        Map<Long, CalculationTreeNode> nodeMap = calculationTree.getNodeMap().get(2L).getNodeMap();
        CalculationTreeNode node3 = nodeMap.get(3L);
        CalculationTreeNode node4 = nodeMap.get(4L);
View Full Code Here

        assertNotNull(node4);
    }

    @Test
    public void testCreateNode_AddingManyChildren() {
        CalculationItemDto calculationItem1 = new CalculationItemDto();
        calculationItem1.setPathExpression(new PathExpression(new Long[]{1L, 2L, 3L}));
        calculationTree.createNode(calculationItem1);
        CalculationItemDto calculationItem2 = new CalculationItemDto();
        calculationItem2.setPathExpression(new PathExpression(new Long[]{1L, 2L, 4L}));
        calculationTree.createNode(calculationItem2);
        CalculationItemDto calculationItem3 = new CalculationItemDto();
        calculationItem3.setPathExpression(new PathExpression(new Long[]{1L, 5L, 6L}));
        calculationTree.createNode(calculationItem3);
        CalculationItemDto calculationItem4 = new CalculationItemDto();
        calculationItem4.setPathExpression(new PathExpression(new Long[]{1L, 5L, 7L}));
        calculationTree.createNode(calculationItem4);

        Map<Long, CalculationTreeNode> nodeMap = calculationTree.getNodeMap().get(2L).getNodeMap();
        CalculationTreeNode node3 = nodeMap.get(3L);
        CalculationTreeNode node4 = nodeMap.get(4L);
View Full Code Here

        assertNotNull(node7);
    }

    @Test
    public void testGetNodeByPathNodes() {
        CalculationItemDto calculationItem = new CalculationItemDto();
        calculationItem.setPathExpression(new PathExpression(new Long[]{1L, 2L, 3L}));
        calculationTree.createNode(calculationItem);

        assertNotNull(calculationTree.getNodeByPathNodes(new Long[]{1L, 2L, 3L}));
    }
View Full Code Here

        assertNotNull(calculationTree.getNodeByPathNodes(new Long[]{1L, 2L, 3L}));
    }

    @Test
    public void testGetNodeByPathNodes_Many() {
        CalculationItemDto calculationItem1 = new CalculationItemDto();
        calculationItem1.setPathExpression(new PathExpression(new Long[]{1L, 2L, 3L}));
        calculationTree.createNode(calculationItem1);
        CalculationItemDto calculationItem2 = new CalculationItemDto();
        calculationItem2.setPathExpression(new PathExpression(new Long[]{1L, 2L, 4L}));
        calculationTree.createNode(calculationItem2);
        CalculationItemDto calculationItem3 = new CalculationItemDto();
        calculationItem3.setPathExpression(new PathExpression(new Long[]{1L, 5L, 6L}));
        calculationTree.createNode(calculationItem3);
        CalculationItemDto calculationItem4 = new CalculationItemDto();
        calculationItem4.setPathExpression(new PathExpression(new Long[]{1L, 5L, 7L}));
        calculationTree.createNode(calculationItem4);

        assertNotNull(calculationTree.getNodeByPathNodes(new Long[]{1L, 2L, 3L}));
        assertNotNull(calculationTree.getNodeByPathNodes(new Long[]{1L, 2L, 4L}));
        assertNotNull(calculationTree.getNodeByPathNodes(new Long[]{1L, 5L, 6L}));
View Full Code Here

    public void testProcess_T1_Imicus() {
        CalculationDto calculation = new CalculationDto();
        calculation.setBlueprintTypeName("Imicus Blueprint");
        calculation.setMaterialLevel(40);
        calculation.setProductivityLevel(25);
        CalculationItemDto tritaniumCalculationItem = new CalculationItemDto();
        tritaniumCalculationItem.setPathExpression(PathExpression.parsePath("/607:40:25/34"));
        tritaniumCalculationItem.setPerfectQuantity(6629L);
        tritaniumCalculationItem.setItemTypeID(34L);
        tritaniumCalculationItem.setPrice(new BigDecimal("2.20"));
        tritaniumCalculationItem.setDamagePerJob(BigDecimal.ONE);
        tritaniumCalculationItem.setWasteFactor(10);
        CalculationItemDto pyeriteCalculationItem = new CalculationItemDto();
        pyeriteCalculationItem.setPathExpression(PathExpression.parsePath("/607:40:25/35"));
        pyeriteCalculationItem.setPerfectQuantity(5422L);
        pyeriteCalculationItem.setItemTypeID(35L);
        pyeriteCalculationItem.setPrice(new BigDecimal("3.00"));
        pyeriteCalculationItem.setDamagePerJob(BigDecimal.ONE);
        pyeriteCalculationItem.setWasteFactor(10);
        CalculationItemDto mexallonCalculationItem = new CalculationItemDto();
        mexallonCalculationItem.setPathExpression(PathExpression.parsePath("/607:40:25/36"));
        mexallonCalculationItem.setPerfectQuantity(1295L);
        mexallonCalculationItem.setItemTypeID(36L);
        mexallonCalculationItem.setPrice(new BigDecimal("26.85"));
        mexallonCalculationItem.setDamagePerJob(BigDecimal.ONE);
        mexallonCalculationItem.setWasteFactor(10);
        CalculationItemDto isogenCalculationItem = new CalculationItemDto();
        isogenCalculationItem.setPathExpression(PathExpression.parsePath("/607:40:25/37"));
        isogenCalculationItem.setPerfectQuantity(1L);
        isogenCalculationItem.setItemTypeID(37L);
        isogenCalculationItem.setPrice(new BigDecimal("51.00"));
        isogenCalculationItem.setDamagePerJob(BigDecimal.ONE);
        isogenCalculationItem.setWasteFactor(10);
        CalculationItemDto zydrineCalculationItem = new CalculationItemDto();
        zydrineCalculationItem.setPathExpression(PathExpression.parsePath("/607:40:25/39"));
        zydrineCalculationItem.setPerfectQuantity(1L);
        zydrineCalculationItem.setItemTypeID(39L);
        zydrineCalculationItem.setPrice(new BigDecimal("1000.01"));
        zydrineCalculationItem.setDamagePerJob(BigDecimal.ONE);
        zydrineCalculationItem.setWasteFactor(10);
        List<CalculationItemDto> items = new ArrayList<CalculationItemDto>();
        items.add(tritaniumCalculationItem);
        items.add(pyeriteCalculationItem);
        items.add(mexallonCalculationItem);
        items.add(isogenCalculationItem);
        items.add(zydrineCalculationItem);
        calculation.setItems(items);
        CalculationTree calculationTree = new CalculationTree();
        calculationTree.build(calculation);

        PricingProcessorResult pricingProcessorResult = pricingProcessor.process(1L, calculationTree, new HashMap<Long, CalculationPriceSetItemDto>());
        Map<Long, CalculationPriceSetItemDto> typeIdToCalculationPriceSetItemMap = pricingProcessorResult.getTypeIdToCalculationPriceSetItemMap();
        assertThat(typeIdToCalculationPriceSetItemMap.size(), equalTo(5));
        assertThat(pricingProcessorResult.getTotalPrice(), equalTo(new BigDecimal("66826.31")));
        assertThat(tritaniumCalculationItem.getQuantity(), equalTo(6645L));
        assertThat(pyeriteCalculationItem.getQuantity(), equalTo(5435L));
        assertThat(mexallonCalculationItem.getQuantity(), equalTo(1298L));
        assertThat(isogenCalculationItem.getQuantity(), equalTo(1L));
        assertThat(zydrineCalculationItem.getQuantity(), equalTo(1L));
        assertThat(tritaniumCalculationItem.getParentQuantity(), equalTo(1L));
        assertThat(pyeriteCalculationItem.getParentQuantity(), equalTo(1L));
        assertThat(mexallonCalculationItem.getParentQuantity(), equalTo(1L));
        assertThat(isogenCalculationItem.getParentQuantity(), equalTo(1L));
        assertThat(zydrineCalculationItem.getParentQuantity(), equalTo(1L));
        assertThat(tritaniumCalculationItem.getTotalPrice(), equalTo(new BigDecimal("14619.00")));
        assertThat(pyeriteCalculationItem.getTotalPrice(), equalTo(new BigDecimal("16305.00")));
        assertThat(mexallonCalculationItem.getTotalPrice(), equalTo(new BigDecimal("34851.30")));
        assertThat(isogenCalculationItem.getTotalPrice(), equalTo(new BigDecimal("51.00")));
        assertThat(zydrineCalculationItem.getTotalPrice(), equalTo(new BigDecimal("1000.01")));
        assertThat(typeIdToCalculationPriceSetItemMap.get(34L).getQuantity(), equalTo(6645L));
        assertThat(typeIdToCalculationPriceSetItemMap.get(35L).getQuantity(), equalTo(5435L));
        assertThat(typeIdToCalculationPriceSetItemMap.get(36L).getQuantity(), equalTo(1298L));
        assertThat(typeIdToCalculationPriceSetItemMap.get(37L).getQuantity(), equalTo(1L));
        assertThat(typeIdToCalculationPriceSetItemMap.get(39L).getQuantity(), equalTo(1L));
        assertThat(typeIdToCalculationPriceSetItemMap.get(34L).getTotalPrice(), equalTo(new BigDecimal("14619.00")));
        assertThat(typeIdToCalculationPriceSetItemMap.get(35L).getTotalPrice(), equalTo(new BigDecimal("16305.00")));
        assertThat(typeIdToCalculationPriceSetItemMap.get(36L).getTotalPrice(), equalTo(new BigDecimal("34851.30")));
        assertThat(typeIdToCalculationPriceSetItemMap.get(37L).getTotalPrice(), equalTo(new BigDecimal("51.00")));
        assertThat(typeIdToCalculationPriceSetItemMap.get(39L).getTotalPrice(), equalTo(new BigDecimal("1000.01")));

        pricingProcessorResult = pricingProcessor.process(500L, calculationTree, new HashMap<Long, CalculationPriceSetItemDto>());
        typeIdToCalculationPriceSetItemMap = pricingProcessorResult.getTypeIdToCalculationPriceSetItemMap();
        assertThat(typeIdToCalculationPriceSetItemMap.size(), equalTo(5));
        assertThat(pricingProcessorResult.getTotalPrice(), equalTo(new BigDecimal("33413155.00")));
        assertThat(tritaniumCalculationItem.getQuantity(), equalTo(6645L));
        assertThat(pyeriteCalculationItem.getQuantity(), equalTo(5435L));
        assertThat(mexallonCalculationItem.getQuantity(), equalTo(1298L));
        assertThat(isogenCalculationItem.getQuantity(), equalTo(1L));
        assertThat(zydrineCalculationItem.getQuantity(), equalTo(1L));
        assertThat(tritaniumCalculationItem.getParentQuantity(), equalTo(500L));
        assertThat(pyeriteCalculationItem.getParentQuantity(), equalTo(500L));
        assertThat(mexallonCalculationItem.getParentQuantity(), equalTo(500L));
        assertThat(isogenCalculationItem.getParentQuantity(), equalTo(500L));
        assertThat(zydrineCalculationItem.getParentQuantity(), equalTo(500L));
        assertThat(tritaniumCalculationItem.getTotalPrice(), equalTo(new BigDecimal("14619.00")));
        assertThat(pyeriteCalculationItem.getTotalPrice(), equalTo(new BigDecimal("16305.00")));
        assertThat(mexallonCalculationItem.getTotalPrice(), equalTo(new BigDecimal("34851.30")));
        assertThat(isogenCalculationItem.getTotalPrice(), equalTo(new BigDecimal("51.00")));
        assertThat(zydrineCalculationItem.getTotalPrice(), equalTo(new BigDecimal("1000.01")));
        assertThat(typeIdToCalculationPriceSetItemMap.get(34L).getQuantity(), equalTo(3322500L));
        assertThat(typeIdToCalculationPriceSetItemMap.get(35L).getQuantity(), equalTo(2717500L));
        assertThat(typeIdToCalculationPriceSetItemMap.get(36L).getQuantity(), equalTo(649000L));
        assertThat(typeIdToCalculationPriceSetItemMap.get(37L).getQuantity(), equalTo(500L));
        assertThat(typeIdToCalculationPriceSetItemMap.get(39L).getQuantity(), equalTo(500L));
View Full Code Here

TOP

Related Classes of lv.odylab.evemanage.client.rpc.dto.calculation.CalculationItemDto

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.