code: def testPopout(self):
      dlm4 = dlm(self.data)
      dlm4 + self.trend1 + dynamic(features=self.features, discount=1)
      dlm4.fitForwardFilter()
      # the filtered step range should be (0, 19)
      self.assertEqual(dlm4.result.filteredSteps, [0, 19])
  
      # pop out the first date, the filtered range should be (0, -1)
      dlm4.popout(0)
      self.assertEqual(dlm4.result.filteredSteps, [0, -1])
  
      dlm4.fitForwardFilter()
      dlm5 = dlm(self.data[1:20])
      (
          dlm5
          + self.trend1
          + dynamic(features=self.features[1:20], discount=1)
      )
      dlm5.fitForwardFilter()
  
      # The two chain should have the same filtered obs
      self.assertAlmostEqual(
          np.sum(
              np.array(dlm4.result.filteredObs)
              - np.array(dlm5.result.filteredObs)
          ),
          0.0,
      )
  
imports: import numpy
  import unittest
  from pydlm.modeler.trends import trend
  from pydlm.modeler.seasonality import seasonality
  from pydlm.modeler.dynamic import dynamic
  from pydlm.modeler.autoReg import autoReg
  from pydlm.dlm import dlm
label_desc: Use image node_id 8 for calling the testDlm obj's underlying member method code with example usage: obj.testPopout() without return types