code: def test_video_dataset_view_simple(self):
      sample1 = fo.Sample(filepath="video1.mp4")
      sample1.frames[1] = fo.Frame()
  
      sample2 = fo.Sample(filepath="video2.mp4")
      sample2.frames[2] = fo.Frame()
      sample2.frames[3] = fo.Frame()
  
      dataset = fo.Dataset()
      dataset.add_samples([sample1, sample2])
  
      view = dataset.skip(1)
  
      sample2_view = view.last()
  
      self.assertEqual(sample2.id, sample2_view.id)
      self.assertEqual(len(sample2_view.frames), 2)
      self.assertFalse(1 in sample2_view.frames)
      self.assertTrue(2 in sample2_view.frames)
      self.assertTrue(3 in sample2_view.frames)
      self.assertListEqual(list(sample2_view.frames.keys()), [2, 3])
  
      frame_numbers = []
      for frame_number, frame in sample2_view.frames.items():
          frame_numbers.append(frame_number)
          self.assertEqual(frame_number, frame.frame_number)
  
      self.assertListEqual(frame_numbers, [2, 3])
  
      sample2_view.frames[1] = fo.Frame()
      sample2_view.frames[4] = fo.Frame()
      del sample2_view.frames[2]
  
      self.assertListEqual(list(sample2_view.frames.keys()), [1, 3, 4])
  
      frame_numbers = []
      for frame_number, frame in sample2_view.frames.items():
          frame_numbers.append(frame_number)
          self.assertEqual(frame_number, frame.frame_number)
  
      self.assertListEqual(frame_numbers, [1, 3, 4])
  
      sample2_view.save()
  
      self.assertListEqual(list(sample2.frames.keys()), [1, 3, 4])
  
      frame_numbers = []
      for frame_number, frame in sample2.frames.items():
          frame_numbers.append(frame_number)
          self.assertEqual(frame_number, frame.frame_number)
  
      self.assertListEqual(frame_numbers, [1, 3, 4])
  
imports: from copy import deepcopy
  from datetime import date, datetime
  from bson import ObjectId
  import numpy
  import unittest
  import fiftyone
  import fiftyone.core.odm
  from fiftyone import ViewField
  from decorators import drop_datasets
label_desc: Use image node_id 17 for calling the VideoTests obj's underlying member method code with example usage: obj.test_video_dataset_view_simple() without return types