test_class.file: covid19-telegram-bot/src/test/java/org/covid19/district/DistrictAlertUtilsTest.java
test_class.identifier: DistrictAlertUtilsTest
test_case.body: @Test
      public void testBuildDistrictwiseAlert() {
          List<DistrictwiseData> deltas = asList(
                  new DistrictwiseData("Maharashtra", "Mumbai", "120", "90", "5", "9", "12", "3", "1", "")
          );
          List<DistrictwiseData> dailies = asList(
                  new DistrictwiseData("Maharashtra", "Mumbai", "25", "40", "12", "3", "11", "23", "4", "")
          );
          AtomicReference<String> alertText = new AtomicReference<>();
  
          String expected = "12 new cases, 1 death, 3 recoveries in Mumbai\n";
          String actual = buildDistrictwiseAlert(deltas, dailies);
  
          assertEquals(expected, actual);
      }
test_case.class_method_signature: DistrictAlertUtilsTest.testBuildDistrictwiseAlert()
test_case.full_signature: @Test public void testBuildDistrictwiseAlert()
test_case.identifier: testBuildDistrictwiseAlert
test_case.invocations: asList asList buildDistrictwiseAlert assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testBuildDistrictwiseAlert()
focal_class.file: covid19-telegram-bot/src/main/java/org/covid19/district/DistrictAlertUtils.java
focal_class.identifier: DistrictAlertUtils
focal_class.class_method_signature: DistrictAlertUtils.buildDistrictwiseAlert(List<DistrictwiseData> deltas, List<DistrictwiseData> dailies)
focal_class.full_signature: public static String buildDistrictwiseAlert(List<DistrictwiseData> deltas, List<DistrictwiseData> dailies)
focal_class.identifier: buildDistrictwiseAlert
focal_class.modifiers: public static
focal_class.parameters: (List<DistrictwiseData> deltas, List<DistrictwiseData> dailies)
focal_class.return: String
focal_class.signature: String buildDistrictwiseAlert(List<DistrictwiseData> deltas, List<DistrictwiseData> dailies)
focal_class.class_method_signature: DistrictAlertUtils.buildDistrictDeltaAlertLine(AtomicReference<String> updateText, DistrictwiseData delta)
focal_class.full_signature: public static void buildDistrictDeltaAlertLine(AtomicReference<String> updateText, DistrictwiseData delta)
focal_class.identifier: buildDistrictDeltaAlertLine
focal_class.modifiers: public static
focal_class.parameters: (AtomicReference<String> updateText, DistrictwiseData delta)
focal_class.return: void
focal_class.signature: void buildDistrictDeltaAlertLine(AtomicReference<String> updateText, DistrictwiseData delta)
focal_method.body: public static String buildDistrictwiseAlert(List<DistrictwiseData> deltas, List<DistrictwiseData> dailies) {
          AtomicReference<String> alertText = new AtomicReference<>("");
          deltas.forEach(delta -> buildDistrictDeltaAlertLine(alertText, delta));
          if (alertText.get().isEmpty() || "\n".equalsIgnoreCase(alertText.get())) {
              LOG.info("No useful update to alert on. Skipping...");
              return "";
          }
  //        buildDistrictSummaryAlertBlock(alertText, deltas, dailies);
          LOG.info("Districtwise alert text generated:\n{}", alertText.get());
          return alertText.get();
      }
focal_method.class_method_signature: DistrictAlertUtils.buildDistrictwiseAlert(List<DistrictwiseData> deltas, List<DistrictwiseData> dailies)
focal_method.full_signature: public static String buildDistrictwiseAlert(List<DistrictwiseData> deltas, List<DistrictwiseData> dailies)
focal_method.identifier: buildDistrictwiseAlert
focal_method.invocations: forEach buildDistrictDeltaAlertLine isEmpty get equalsIgnoreCase get info info get get
focal_method.modifiers: public static
focal_method.parameters: (List<DistrictwiseData> deltas, List<DistrictwiseData> dailies)
focal_method.return: String
focal_method.signature: String buildDistrictwiseAlert(List<DistrictwiseData> deltas, List<DistrictwiseData> dailies)