package com.baiyue.lastleg.service; import com.baiyue.lastleg.dto.CustomerOrderProgress.Source; import org.junit.jupiter.api.Test; import java.util.List; import static org.assertj.core.api.Assertions.*; class CustomerOrderProgressServiceTest { @Test void aggregatesAllInboundFragmentsAndNeverTreatsDuplicateOrUnknownCoverageAsComplete() { var result=CustomerOrderProgressService.project(List.of( new Source("1",10,10,0),new Source("1",10,0,0), new Source("2",10,0,10),new Source("3",10,0,20),new Source("4",0,5,0),new Source("5",10,0,0))); assertThat(result).hasSize(4); assertThat(result.get(0).stage()).isEqualTo("scheduled");assertThat(result.get(0).partial()).isTrue(); assertThat(result.get(1).stage()).isEqualTo("delivering");assertThat(result.get(1).partial()).isFalse(); assertThat(result.get(2).partial()).isTrue();assertThat(result.get(3).partial()).isTrue(); } }