test_class.declarator: gazePlay
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private GazePlay gazePlay;
test_class.type: GazePlay
test_class.var_name: gazePlay
test_class.declarator: stage
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private Stage stage;
test_class.type: Stage
test_class.var_name: stage
test_class.declarator: screenDimensionSupplier
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ScreenDimensionSupplier screenDimensionSupplier;
test_class.type: ScreenDimensionSupplier
test_class.var_name: screenDimensionSupplier
test_class.file: gazeplay-core/src/test/java/net/gazeplay/commons/app/LogoFactoryTest.java
test_class.identifier: LogoFactoryTest
test_case.body: @Test
      void shouldCreateAnAnimatedLogo() {
          when(stage.getHeight()).thenReturn(100d);
  
          LogoFactory logoFactory = LogoFactory.getInstance();
          Pane result = (Pane) logoFactory.createLogoAnimated(stage);
  
          assertEquals(9, result.getChildren().size());
      }
test_case.class_method_signature: LogoFactoryTest.shouldCreateAnAnimatedLogo()
test_case.full_signature: @Test void shouldCreateAnAnimatedLogo()
test_case.identifier: shouldCreateAnAnimatedLogo
test_case.invocations: thenReturn when getHeight getInstance createLogoAnimated assertEquals size getChildren
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldCreateAnAnimatedLogo()
focal_class.declarator: instance = new LogoFactory()
focal_class.modifier: @Getter
      private static final
focal_class.original_string: @Getter
      private static final LogoFactory instance = new LogoFactory();
focal_class.type: LogoFactory
focal_class.var_name: instance
focal_class.declarator: staticLogoImagePath = "data/common/images/logos/gazeplay-top-logo.png"
focal_class.modifier: final static
focal_class.original_string: final static String staticLogoImagePath = "data/common/images/logos/gazeplay-top-logo.png";
focal_class.type: String
focal_class.var_name: staticLogoImagePath
focal_class.file: gazeplay-core/src/main/java/net/gazeplay/commons/app/LogoFactory.java
focal_class.identifier: LogoFactory
focal_class.class_method_signature: LogoFactory.createLogoAnimated(Stage stage)
focal_class.full_signature: public Node createLogoAnimated(Stage stage)
focal_class.identifier: createLogoAnimated
focal_class.modifiers: public
focal_class.parameters: (Stage stage)
focal_class.return: Node
focal_class.signature: Node createLogoAnimated(Stage stage)
focal_class.class_method_signature: LogoFactory.createLogoStatic(Stage stage)
focal_class.full_signature: public Node createLogoStatic(Stage stage)
focal_class.identifier: createLogoStatic
focal_class.modifiers: public
focal_class.parameters: (Stage stage)
focal_class.return: Node
focal_class.signature: Node createLogoStatic(Stage stage)
focal_class.class_method_signature: LogoFactory.fitStaticLogo(ImageView logoView, Stage stage)
focal_class.full_signature: private static void fitStaticLogo(ImageView logoView, Stage stage)
focal_class.identifier: fitStaticLogo
focal_class.modifiers: private static
focal_class.parameters: (ImageView logoView, Stage stage)
focal_class.return: void
focal_class.signature: void fitStaticLogo(ImageView logoView, Stage stage)
focal_method.body: public Node createLogoAnimated(Stage stage) {
          final double preferredHeight = stage.getHeight() * 0.1d;
          log.info("preferredHeight = {}", preferredHeight);
  
          GazePlayAnimatedLogo gazePlayAnimatedLogo = GazePlayAnimatedLogo.newInstance((int) preferredHeight);
  
          Thread t = new Thread(() -> {
              try {
                  Thread.sleep(2 * 1000);
              } catch (InterruptedException e) {
                  throw new LogoCreationException(e);
              }
              SequentialTransition animation = gazePlayAnimatedLogo.createAnimation();
              animation.setCycleCount(-1);
              animation.play();
          });
          t.start();
          return gazePlayAnimatedLogo.getLetters();
      }
focal_method.class_method_signature: LogoFactory.createLogoAnimated(Stage stage)
focal_method.full_signature: public Node createLogoAnimated(Stage stage)
focal_method.identifier: createLogoAnimated
focal_method.invocations: getHeight info newInstance sleep createAnimation setCycleCount play start getLetters
focal_method.modifiers: public
focal_method.parameters: (Stage stage)
focal_method.return: Node
focal_method.signature: Node createLogoAnimated(Stage stage)