code: def test_main_logger_with_default_groups():
      """Test group patterns"""
      logger = MainLogger()
      logger.update(
          {"acc": 0.5, "val_acc": 0.4, "loss": 1.2, "val_loss": 1.1}
      )
      logger.update(
          {"acc": 0.55, "val_acc": 0.45, "loss": 1.1, "val_loss": 1.0}
      )
      logger.update(
          {"acc": 0.65, "val_acc": 0.55, "loss": 1.0, "val_loss": 0.9}
      )
      grouped_log_history = logger.grouped_log_history(
          raw_names=True, raw_group_names=True
      )
      assert len(grouped_log_history) == 2
      assert len(grouped_log_history["acc"]) == 2
      assert len(grouped_log_history["acc"]["val_acc"]) == 3
      grouped_log_history = logger.grouped_log_history()
      assert len(grouped_log_history) == 2
      assert len(grouped_log_history["Accuracy"]) == 2
      assert len(grouped_log_history["Accuracy"]["validation"]) == 3
  
file_path: livelossplot/tests/test_main_logger.py
imports: import re
  from livelossplot import MainLogger
label_desc: Use image node_id 3 for calling a global function with example usage: test_main_logger_with_default_groups() without return types