@Test public void createsNoUseCase() { Model model = modelBuilder.build(); Collection<UseCase> useCases = model.getUseCases(); assertEquals(0, useCases.size()); }
@Test public void createsTwoUseCasesInOneGo() { modelBuilder.useCase(USE_CASE); modelBuilder.useCase(USE_CASE_2); Model model = modelBuilder.build(); Collection<UseCase> useCases = model.getUseCases(); assertEquals(2, useCases.size()); }
@Test public void createsSingleUseCase() { modelBuilder.useCase(USE_CASE); Model model = modelBuilder.build(); assertTrue(model.hasUseCase(USE_CASE)); Collection<UseCase> useCases = model.getUseCases(); assertEquals(1, useCases.size()); assertEquals(USE_CASE, useCases.iterator().next().getName()); }
@Test public void accessesExistingUseCaseTwice() { modelBuilder.useCase(USE_CASE); modelBuilder.useCase(USE_CASE); Model model = modelBuilder.build(); assertTrue(model.hasUseCase(USE_CASE)); Collection<UseCase> useCases = model.getUseCases(); assertEquals(1, useCases.size()); assertEquals(USE_CASE, useCases.iterator().next().getName()); }
@Test public void useCasesAreUniquelyIdentifiedByName() { UseCasePart useCasePart = modelBuilder.useCase(USE_CASE); Model model = useCasePart.basicFlow() .step(SYSTEM_DISPLAYS_TEXT).system(displaysConstantText()) .flow(ALTERNATIVE_FLOW) .step(SYSTEM_DISPLAYS_TEXT_AGAIN).system(displaysConstantText()).build(); assertEquals(1, model.getUseCases().size()); assertEquals(model.findUseCase(USE_CASE), model.getUseCases().iterator().next()); }