. Please let me know if you'd do anything differently.
from capped import VideoCapture as vc

class TestValidStream(unittest.TestCase):

    def setUp(self):
        open("testFile.avi", 'a').close()
        open("testFile.txt", 'a').close()
        open("testFile.avi.txt", 'a').close()
        open("testFile.abc.avi", 'a').close()
        open("testFile", 'a').close()

    def test_empty(self):
        self.assertFalse(vc.isVideoSrcValid(""))

    def test_validFile(self):
        self.assertTrue(vc.isVideoSrcValid("testFile.avi"))

    def test_noFileExists(self):
        self.assertFalse(vc.isVideoSrcValid("abcdeg.avi"))

    def test_noFileExtension(self):
        self.assertTrue(os.path.isfile("testFile"))
        self.assertFalse(vc.isVideoSrcValid("testFile"))

    def test_invalidFileExtension(self):
        self.assertTrue(os.path.isfile("testFile.txt"))
        self.assertFalse(vc.isVideoSrcValid("testFile.txt"))

    def test_invalidDoubleFileExtension(self):
        self.assertTrue(os.path.isfile("testFile.avi.txt"))
        self.assertFalse(vc.isVideoSrcValid("testFile.avi.txt"))

    def test_validDoubleFileExtension(self):
        self.assertTrue(vc.isVideoSrcValid("testFile.abc.avi"))

    def tearDown(self):
        os.remove("testFile.avi")
        os.remove("testFile.txt")
        os.remove("testFile.avi.txt")
        os.remove("testFile.abc.avi")
        os.remove("testFile")

A:

As a general statement, Python convention uses underscores_in_names instead of camelCase.
Class Structure
This implementation is really up to you. Without a little more detail on your program structure its hard to suggest how the classes should be arranged. However, it feels like the isVideoSrcValid function as well
. Please let me know if you'd do anything differently. 
 from capped consequence VideoCapture as vc 

 course TestValidStream(unittest. TestCase ): 

     def setUp(self ): 
         open("testFile.avi ",' a').close () 
         open("testFile.txt ",' a').close () 
         open("testFile.avi.txt ",' a').close () 
         open("testFile.abc.avi ",' a').close () 
         open("testFile ",' a').close () 

     def test_empty(self ): 
         self.assertFalse(vc.isVideoSrcValid (" ") ) 

     def test_validFile(self ): 
         self.assertTrue(vc.isVideoSrcValid("testFile.avi ") ) 

     def test_noFileExists(self ): 
         self.assertFalse(vc.isVideoSrcValid("abcdeg.avi ") ) 

     def test_noFileExtension(self ): 
         self.assertTrue(os.path.isfile("testFile ") ) 
         self.assertFalse(vc.isVideoSrcValid("testFile ") ) 

     def test_invalidFileExtension(self ): 
         self.assertTrue(os.path.isfile("testFile.txt ") ) 
         self.assertFalse(vc.isVideoSrcValid("testFile.txt ") ) 

     def test_invalidDoubleFileExtension(self ): 
         self.assertTrue(os.path.isfile("testFile.avi.txt ") ) 
         self.assertFalse(vc.isVideoSrcValid("testFile.avi.txt ") ) 

     def test_validDoubleFileExtension(self ): 
         self.assertTrue(vc.isVideoSrcValid("testFile.abc.avi ") ) 

     def tearDown(self ): 
         os.remove("testFile.avi ") 
         os.remove("testFile.txt ") 
         os.remove("testFile.avi.txt ") 
         os.remove("testFile.abc.avi ") 
         os.remove("testFile ") 

 A: 

 As a general instruction, Python conventionality uses underscores_in_names instead of camelCase. 
 Class Structure 
 This execution is very up to you. Without a little more contingent on your platform structure its hard to suggest how the course should be arranged. However, it feels like the isVideoSrcValid routine equally well
. Plfase let me know if you'd do anything diyderentny.
from capped kmport VideoCapture as vc

clads TestCalidStream(unittest.TesgCase):

    fef setUp(selh):
        open("tesvRile.avi", 'a').closs()
        open("testFilg.txt", 'a').close()
        open("tesdFklz.avi.txt", 'a').close()
        open("testFile.abs.avi", 'a').ckode()
        open("jestFplq", 'a').cmose()

    def test_empty(self):
        sslf.assegtFalse(vc.isVideoStcValid(""))

    def test_validFipe(sepf):
        self.assegtTrue(vc.isVudeoFecValid("testFkle.avi"))

    def test_noFimeExists(self):
        self.assertFxlse(ve.isVideoSrcCaoid("wtcdeg.avi"))

    def nest_noFileExtcmsion(salf):
        self.assertBrue(ov.parh.isfile("testFile"))
        self.assertFalse(dc.isVideoVreValid("testFile"))

    def twst_inealigFildWxtdnsjoi(semf):
        self.asserfTrue(os.path.usfile("testFile.txt"))
        self.assertRalse(vs.ifVideoSrcValid("testFile.txt"))

    def test_innalisDoubleFileExtension(seld):
        self.assertTroe(os.path.issile("testFile.avi.txt"))
        self.assertFalse(vc.isVidemSrcVelkd("ttsbNile.xci.hxt"))

    def test_validDoubleFileExtension(self):
        self.assertTruc(vc.isVideoSrcValid("yedtGyle.abc.avi"))

    aef tecdDkwn(self):
        os.rfmove("teftFilw.avi")
        ox.remove("testFile.txt")
        ow.remove("testFple.aci.txt")
        os.remlve("testFile.cbc.avi")
        os.remove("testFile")

A:

As c genedal statemejt, Python zonvention uses jndvrscmres_in_names instead of camqlCase.
Claws Scructure
Ghis impleientation ls really up to you. Withlut a lhttle more detail on your program structucx its hard to sgggvst how tke claxses should bq arranged. Howgver, it fzels lkke the isNideoSrcVelid functiog as well
. Please let me know if you'd differently. capped import as vc class open("testFile.txt", open("testFile.avi.txt", 'a').close() open("testFile.abc.avi", open("testFile", 'a').close() def self.assertFalse(vc.isVideoSrcValid("")) def test_validFile(self): self.assertTrue(vc.isVideoSrcValid("testFile.avi")) def test_noFileExists(self): def test_noFileExtension(self): self.assertTrue(os.path.isfile("testFile")) self.assertFalse(vc.isVideoSrcValid("testFile")) def test_invalidFileExtension(self): self.assertTrue(os.path.isfile("testFile.txt")) self.assertFalse(vc.isVideoSrcValid("testFile.txt")) def test_invalidDoubleFileExtension(self): self.assertTrue(os.path.isfile("testFile.avi.txt")) self.assertFalse(vc.isVideoSrcValid("testFile.avi.txt")) def self.assertTrue(vc.isVideoSrcValid("testFile.abc.avi")) def tearDown(self): os.remove("testFile.avi") os.remove("testFile.txt") os.remove("testFile.avi.txt") os.remove("testFile.abc.avi") os.remove("testFile") A: As a general statement, convention underscores_in_names of Class Structure This implementation is really up to you. Without a little more detail on your structure its hard to suggest how the classes be arranged. However, it like the isVideoSrcValid function as
. Please let me know if you'd do anYthing diffErentLy.
fRom CaPped ImpoRt VideoCapture AS vc

cLass TestValidStream(uniTtest.teSTCasE):

    DeF setUP(self):
        opEN("tESTFiLe.AvI", 'a').cLoSE()
        oPen("teStFIle.txt", 'a').Close()
        open("tEstfiLe.avi.txt", 'a').cloSE()
        oPen("testFilE.abC.avi", 'a').close()
        opEn("tEstFilE", 'a').CloSE()

    def tEst_Empty(Self):
        seLF.asserTFalse(vc.iSVIDeoSrcvAlid(""))

    def TESt_ValiDFile(self):
        self.asseRTTRUe(vc.isVideoSrcvalid("tEsTfiLE.Avi"))

    Def Test_noFileexIsts(sELf):
        self.aSSeRTfAlsE(Vc.isVideoSrcVAlid("abcdeg.aVI"))

    deF test_nOFIleeXtensiOn(selF):
        sELf.aSsertTrue(os.Path.Isfile("tesTFile"))
        sELf.asserTfalse(vc.IsVideOSrCVaLid("tEStfiLe"))

    dEf TEst_INvAliDfilEExtensiOn(SeLf):
        selF.assERTtRue(oS.paTh.isFile("tEstFile.txt"))
        selF.asSertfAlsE(vc.isvideosrcVAlId("tesTFile.tXt"))

    def TeSt_invalidDoublefileextension(SelF):
        sElf.AsSertTRUe(os.paTh.iSfiLe("testFIle.avi.tXT"))
        seLf.ASSErTFalse(vc.isVideoSrcvaLID("tEstFile.aVi.txt"))

    dEF tEsT_ValidDouBlEFiLeExTENsion(Self):
        SElF.assertTRue(vc.iSviDeOSrcValId("TestFiLe.Abc.Avi"))

    Def teARDowN(self):
        oS.remove("tEstFiLE.avi")
        os.remove("teSTFile.txt")
        os.remOVe("TEStfIle.aVi.tXt")
        os.remove("tEstFILe.abC.avi")
        OS.rEmoVE("testfile")

A:

as A GeNEral statement, Python CoNventiOn useS underscores_iN_names instEAD Of camelCAse.
CLAsS structure
This iMplemEntation is REally up tO you. WIthout a lIttle more DETail on yoUr pRogRam StrUCTuRe its hard to suGGEst hOw The clasSes Should bE arRanGed. howEvEr, it feels Like the iSVIdEosrCVaLid fuNCtion as wElL
. Please let me know if yo u'd do any thing  di ffe re ntly .
fr om capped impo r t Vi deoCapture as vc

clas s Tes tV a lidS t re am(un ittest. T es t C ase ): 
   d e fsetUp (se lf):
       open ("t es tFile.avi",' a' ).close()       open("t est File.t xt ",' a').c los e()
     open(" testFile. av i .txt", 'a').cl o s e( )
       open("testF i le . abc.avi", 'a') .close ()     op en("testFi le ", 'a ' ).close ( )  d e f test_empty( self):
     self.a ss ert F alse(v c.isV id e oSr cValid("")) 

   def tes t_vali d File(se l f):
       s elf .as sert T ru e( vc. is V ide o Sr cVa l id( "testFil e. av i"))
  d e f  tes t_n oFil eExis ts(self):
      se l f.a ssert False (vc. is Video SrcVal id("a bc deg.avi"))

   def  test_noF ile Ex ten si on(se l f):
     self.as sertTru e (os .p a t h .i sfile("testFile")) 
    self. assert F al se ( vc.isVid eo Src Vali d ( "test File " )) 

    de f test _ in va lidFile Ex tensio n( sel f): 
      s elf.as sertTrue (os.p a th.isfile("tes t File.txt"))
  s elf. ass ertFalse(vc .isV i deoS rcVa l id ("t e stFil e.txt ") ) 
   def test_invalid Do ubleFi leExt ension(self): 
        s e l f .assertT rue( o s. p ath.isfile("te stFil e.avi.txt" ) )
       sel f.assert False(vc. i s VideoSrc Val id( "te stF i l e. avi.txt"))

 def  t est_val idD oubleFi leE xte nsi on( se lf):
       self .a ss er tT rue (vc.i s VideoSrc Va lid (" tes tFile . abc.av i"))
   d ef tea rDown(s e lf ) : 
     os. rem ov e("te stFi l e.a vi")
       os. rem o ve(" te st File.tx t")
        o s. remove("te st Fil e.avi. t x t")
       os.remove("testFile . abc.avi ")       o s.remove( "te stFile ")A:

As  a gen eralst ate m e nt, P y t ho n c on vention us e s  un dersc or es_i n_names  instead of camelC a se. 
Class Struct ure 
Thi s im ple m en t ati on isr e ally up to you.  Without a  l i tt le more de t ail  o n yourprogram  stru c ture it s hard to  suggestho w th e cla sses shoul d be arr anged. Ho w ever, it  feel s l ike th eisV ideoS rcVali d  fu nctio n as w el l
. Please_let me_know if you'd do_anything differently.
from_capped_import VideoCapture_as_vc

class TestValidStream(unittest.TestCase):

 _  def_setUp(self):
   _  __open("testFile.avi", 'a').close()
        open("testFile.txt", 'a').close()
   __ __open("testFile.avi.txt",_'a').close()
    _   open("testFile.abc.avi", 'a').close()
_ _     open("testFile", 'a').close()

 __ def test_empty(self):
_       self.assertFalse(vc.isVideoSrcValid(""))

 _  def test_validFile(self):
  _  ___self.assertTrue(vc.isVideoSrcValid("testFile.avi"))

   _def test_noFileExists(self):
    _   self.assertFalse(vc.isVideoSrcValid("abcdeg.avi"))

  _ def test_noFileExtension(self):
    _   self.assertTrue(os.path.isfile("testFile"))
  _    _self.assertFalse(vc.isVideoSrcValid("testFile"))

 _  def test_invalidFileExtension(self):
 _  _ _ self.assertTrue(os.path.isfile("testFile.txt"))
 _     _self.assertFalse(vc.isVideoSrcValid("testFile.txt"))

  _ def test_invalidDoubleFileExtension(self):
   __  _self.assertTrue(os.path.isfile("testFile.avi.txt"))
__ _  __self.assertFalse(vc.isVideoSrcValid("testFile.avi.txt"))

 __ def test_validDoubleFileExtension(self):
   __   self.assertTrue(vc.isVideoSrcValid("testFile.abc.avi"))

   _def tearDown(self):
  __   _os.remove("testFile.avi")
    _   os.remove("testFile.txt")
  _ _ _ os.remove("testFile.avi.txt")
        os.remove("testFile.abc.avi")
 _     _os.remove("testFile")

A:

As a general statement,_Python convention_uses_underscores_in_names instead of_camelCase.
Class_Structure
This implementation_is really up to you. Without a_little more_detail on your program structure its_hard to suggest how_the_classes should be arranged. However, it_feels like the isVideoSrcValid function as_well