use of com.axelor.apps.account.db.FixedAsset in project axelor-open-suite by axelor.
the class TestFixedAssetLineComputationService method testComputeOngoingDegressiveAssetLineSwitchToLinear.
@Test
public void testComputeOngoingDegressiveAssetLineSwitchToLinear() {
FixedAsset fixedAsset = createFixedAsset(FixedAssetRepository.COMPUTATION_METHOD_DEGRESSIVE, new BigDecimal("1.75"), LocalDate.of(2020, 3, 31), LocalDate.of(2020, 12, 31), 5, 12, createFixedAssetCategoryFromIsProrataTemporis(true, false), new BigDecimal("20000.00"));
// fill with empty previous line, should not change the result
for (int i = 0; i < 2; i++) {
fixedAsset.addFixedAssetLineListItem(createFixedAssetLine(LocalDate.now(), BigDecimal.ZERO, BigDecimal.ZERO, BigDecimal.ZERO));
}
FixedAssetLine previousFixedAssetLine = createFixedAssetLine(LocalDate.of(2020, 12, 31), new BigDecimal("3356.00"), new BigDecimal("13769.00"), new BigDecimal("6231.00"));
fixedAsset.addFixedAssetLineListItem(previousFixedAssetLine);
FixedAssetLine fixedAssetLine = fixedAssetLineComputationService.computePlannedFixedAssetLine(fixedAsset, previousFixedAssetLine);
assertFixedAssetLineEquals(createFixedAssetLine(LocalDate.of(2021, 12, 31), new BigDecimal("3115.50"), new BigDecimal("16884.50"), new BigDecimal("3115.50")), fixedAssetLine);
}
use of com.axelor.apps.account.db.FixedAsset in project axelor-open-suite by axelor.
the class TestFixedAssetLineComputationService method testComputeInitialPlannedFixedAssetLineWithoutProrata.
@Test
public void testComputeInitialPlannedFixedAssetLineWithoutProrata() {
FixedAsset fixedAsset = createFixedAsset(FixedAssetRepository.COMPUTATION_METHOD_LINEAR, LocalDate.of(2020, 10, 4), LocalDate.of(2020, 12, 31), 5, 12, createFixedAssetCategoryFromIsProrataTemporis(false), new BigDecimal("500.00"));
FixedAssetLine fixedAssetLine = fixedAssetLineComputationService.computeInitialPlannedFixedAssetLine(fixedAsset);
assertFixedAssetLineEquals(createFixedAssetLine(LocalDate.of(2020, 12, 31), new BigDecimal("100.00"), new BigDecimal("100.00"), new BigDecimal("400.00")), fixedAssetLine);
}
use of com.axelor.apps.account.db.FixedAsset in project axelor-open-suite by axelor.
the class TestFixedAssetLineComputationService method testComputeLastFixedAssetLineWithoutProrata.
@Test
public void testComputeLastFixedAssetLineWithoutProrata() {
FixedAsset fixedAsset = createFixedAsset(FixedAssetRepository.COMPUTATION_METHOD_LINEAR, LocalDate.of(2020, 10, 4), LocalDate.of(2020, 12, 31), 5, 12, createFixedAssetCategoryFromIsProrataTemporis(false), new BigDecimal("500.00"));
FixedAssetLine previousFixedAssetLine = createFixedAssetLine(LocalDate.of(2023, 12, 31), new BigDecimal("100.00"), new BigDecimal("400.00"), new BigDecimal("100.00"));
FixedAssetLine fixedAssetLine = fixedAssetLineComputationService.computePlannedFixedAssetLine(fixedAsset, previousFixedAssetLine);
assertFixedAssetLineEquals(createFixedAssetLine(LocalDate.of(2024, 12, 31), new BigDecimal("100.00"), new BigDecimal("500.00"), new BigDecimal("0.00")), fixedAssetLine);
}
use of com.axelor.apps.account.db.FixedAsset in project axelor-open-suite by axelor.
the class TestFixedAssetService method testGenerateAndComputeLinesProrataLinearFixedAssetNoProrataNeededFifthLine.
@Test
public void testGenerateAndComputeLinesProrataLinearFixedAssetNoProrataNeededFifthLine() {
FixedAsset fixedAsset = generateAndComputeLineProrataLinearFixedAssetNoProrataNeeded();
assertFixedAssetLineEquals(createFixedAssetLine(LocalDate.of(2024, 12, 31), new BigDecimal("100.00"), new BigDecimal("500.00"), new BigDecimal("0.00")), fixedAsset.getFixedAssetLineList().get(4));
}
use of com.axelor.apps.account.db.FixedAsset in project axelor-open-suite by axelor.
the class TestFixedAssetService method testGenerateAndComputeLinesProrataLinearFixedAssetFirstLine.
@Test
public void testGenerateAndComputeLinesProrataLinearFixedAssetFirstLine() {
FixedAsset fixedAsset = generateAndComputeLineProrataLinearFixedAsset();
assertFixedAssetLineEquals(createFixedAssetLine(LocalDate.of(2020, 12, 31), new BigDecimal("23.89"), new BigDecimal("23.89"), new BigDecimal("476.11")), fixedAsset.getFixedAssetLineList().get(0));
}
Aggregations