(system "rm ../test_bergman/test.diff")

%test1 Simple commutative
(terpri)
(prin2 "simple commutative")
(system "rm ../test_bergman/simple_c.gb ")
(simple "../test_bergman/simple_c" "../test_bergman/simple_c.gb")
(system "cat  ../test_bergman/tsc >>../test_bergman/test.diff")
(system "diff ../test_bergman/simple_c.gb ../test_bergman/simple_c.gb.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")
(clearring)

%test2 Simple noncommutative
(terpri)
(prin2 "simple noncommutative")
(system "rm ../test_bergman/simple_nc.gb")
(simple "../test_bergman/simple_nc" "../test_bergman/simple_nc.gb")
(system "cat  ../test_bergman/tsnc >>../test_bergman/test.diff")
(system "diff ../test_bergman/simple_nc.gb ../test_bergman/simple_nc.gb.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")
(clearring)

%test3
(terpri)
(prin2 "ncpbhgroebner")
(system "rm ../test_bergman/ncpbhg.gb ")
(system "rm ../test_bergman/ncpbhg.hs ")
(system "rm ../test_bergman/ncpbhg.pb ")
(ncpbhgroebner "../test_bergman/ncpbhg" "../test_bergman/ncpbhg.gb" "../test_bergman/ncpbhg.pb" "../test_bergman/ncpbhg.hs" )
(system "cat  ../test_bergman/tncpbhg >>../test_bergman/test.diff")
(system "diff ../test_bergman/ncpbhg.gb ../test_bergman/ncpbhg.gb.old >../test_bergman/test.diff1")
(system "diff ../test_bergman/ncpbhg.pb  ../test_bergman/ncpbhg.pb.old >../test_bergman/test.diff1")
(system "diff ../test_bergman/ncpbhg.hs ../test_bergman/ncpbhg.hs.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")
(clearring)

%test4 Commutative HS
(terpri)
(prin2 "Commutative Hilbert series")
(system "rm ../test_bergman/hilb.gb ")
(system "rm ../test_bergman/hilb.hs ")
(load hseries)
(hilbert "../test_bergman/hilb" "../test_bergman/hilb.gb"  "../test_bergman/hilb.hs" )
(system "cat  ../test_bergman/thilb >>../test_bergman/test.diff")
(system "diff ../test_bergman/hilb.gb ../test_bergman/hilb.gb.old >../test_bergman/test.diff1")
(system "diff ../test_bergman/hilb.hs ../test_bergman/hilb.hs.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")
(clearring)

%test5 Hs interrupt strategy: commutative
(terpri)
(prin2 "Hilbert series interrupt strategy: commutative")
(system "rm ../test_bergman/interrupt_c.gb ")
(setinterruptstrategy minhilblimits)
(sethseriesminima 1 3 3 1 )
(simple "../test_bergman/interrupt_c" "../test_bergman/interrupt_c.gb")
(clearring)
(setinterruptstrategy ordinary)
(system "cat  ../test_bergman/tisc >>../test_bergman/test.diff")
(system "diff ../test_bergman/interrupt_c.gb ../test_bergman/interrupt_c.gb.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")


%test6  Weights handling: commutative
(terpri)
(prin2 "Weights handling: commutative")
(system "rm ../test_bergman/simp_weight_c.gb ")
(simple "../test_bergman/simp_weight_c" "../test_bergman/simp_weight_c.gb")
(clearweights)
(clearring)
(system "cat  ../test_bergman/tswc >>../test_bergman/test.diff")
(system "diff ../test_bergman/simp_weight_c.gb ../test_bergman/simp_weight_c.gb.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")

%test7  Weights handling: non-commutative
(terpri)
(prin2 "Weights handling: non-commutative")
(system "rm ../test_bergman/simp_weight_nc.gb ")
(simple "../test_bergman/simp_weight_nc" "../test_bergman/simp_weight_nc.gb")
(clearweights)
(clearring)
(system "cat  ../test_bergman/tswnc >>../test_bergman/test.diff")
(system "diff ../test_bergman/simp_weight_nc.gb ../test_bergman/simp_weight_nc.gb.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")

%test8 Eliminating ordering: Groebner basis.
(terpri)
(prin2 "Eliminating ordering: Groebner basis")
(system "rm ../test_bergman/simple_el.gb ")
(simple "../test_bergman/simple_el" "../test_bergman/simple_el.gb")
(noelim)
(system "cat  ../test_bergman/tsel >>../test_bergman/test.diff")
(system "diff ../test_bergman/simple_el.gb ../test_bergman/simple_el.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")
(clearring)

%test9
(terpri)
(prin2 "modulehseries")
(system "rm ../test_bergman/modhs.gb ")
(system "rm ../test_bergman/modhs.hs ")
(modulehseries "../test_bergman/modhs.1"  "../test_bergman/modhs.2" "../test_bergman/modhs.gb" "../test_bergman/modhs.hs")
(clearring)
(system "cat  ../test_bergman/tmodhs >>../test_bergman/test.diff")
(system "diff ../test_bergman/modhs.gb ../test_bergman/modhs.gb.old >../test_bergman/test.diff1")
(system "diff ../test_bergman/modhs.hs  ../test_bergman/modhs.hs.old >../test_bergman/test.diff1") 
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")

%test10 Anick for trivial module
(terpri)
(prin2 "Anick trivial")
(system "rm ../test_bergman/anick_tm.res ")
(system "rm ../test_bergman/anick_tm.out ")
(setq anickresolutionoutputfile "../test_bergman/anick_tm.out")
(anick "../test_bergman/anick_tm" "../test_bergman/anick_tm.res")
(calculateanickresolutiontolimit (getmaxdeg))
(anickdisplay)
(clearring)
(system "cat  ../test_bergman/tantm >>../test_bergman/test.diff")
(system "diff ../test_bergman/anick_tm.res ../test_bergman/anick_tm.res.old >../test_bergman/test.diff1")
(system "diff ../test_bergman/anick_tm.out  ../test_bergman/anick_tm.out.old >../test_bergman/test.diff1") 
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")

%test11 Modulebettinumbers
(terpri)
(prin2 "Modulebettinumbers")
(system "rm ../test_bergman/modbtn.res ")
(system "rm ../test_bergman/modbtn.out ")
(setq anickresolutionoutputfile "../test_bergman/modbtn.out")
(modulebettinumbers "../test_bergman/modbtn" "../test_bergman/modbtn.res")
(calculateanickresolutiontolimit (getmaxdeg))
(anickdisplay)
(clearring)
(system "cat  ../test_bergman/tmodbtn >>../test_bergman/test.diff")
(system "diff ../test_bergman/modbtn.res ../test_bergman/modbtn.res.old >../test_bergman/test.diff1")
(system "diff ../test_bergman/modbtn.out  ../test_bergman/modbtn.out.old >../test_bergman/test.diff1") 
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")

%test12 Factor-algebra Betti numbers
(terpri)
(prin2 "Factor-algebra")
(system "rm ../test_bergman/fact.res ")
(system "rm ../test_bergman/fact.out ")
(setq anickresolutionoutputfile "../test_bergman/fact.out")
(factalgbettinumbers "../test_bergman/fact" "../test_bergman/fact.res")
(calculateanickresolutiontolimit (getmaxdeg))
(anickdisplay)
(clearring)
(system "cat  ../test_bergman/tfact >>../test_bergman/test.diff")
(system "diff ../test_bergman/fact.res ../test_bergman/fact.res.old >../test_bergman/test.diff1")
(system "diff ../test_bergman/fact.out  ../test_bergman/fact.out.old >../test_bergman/test.diff1") 
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")

%test13 Two modules Betti numbers
(terpri)
(prin2 "Betti numbers for two modules")
(system "rm ../test_bergman/two.res ")
(system "rm ../test_bergman/two.out ")
(setq anickresolutionoutputfile "../test_bergman/two.out")
(twomodbettinumbers "../test_bergman/two" "../test_bergman/two.res")
(calculateanickresolutiontolimit (getmaxdeg))
(anickdisplay)
(clearring)
(system "cat  ../test_bergman/ttwo >>../test_bergman/test.diff")
(system "diff ../test_bergman/two.res ../test_bergman/two.res.old >../test_bergman/test.diff1")
(system "diff ../test_bergman/two.out  ../test_bergman/two.out.old >../test_bergman/test.diff1") 
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")

%test14 Two modules Betti numbers: hochschild
(terpri)
(prin2 "Betti numbers for two modules: hochschild")
(system "rm ../test_bergman/hoch.res ")
(system "rm ../test_bergman/hoch.out ")
(setq anickresolutionoutputfile "../test_bergman/hoch.out")
(twomodbettinumbers "../test_bergman/hochschild" "../test_bergman/hoch.res")
(calculateanickresolutiontolimit (getmaxdeg))
(anickdisplay)
(clearring)
(system "cat  ../test_bergman/thoch >>../test_bergman/test.diff")
(system "diff ../test_bergman/hoch.res ../test_bergman/hoch.res.old >../test_bergman/test.diff1")
(system "diff ../test_bergman/hoch.out  ../test_bergman/hoch.out.old >../test_bergman/test.diff1") 
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")

%test15 Hochschild
(terpri)
(prin2 "Hochschild homology")
(system "rm ../test_bergman/hoch1.res ")
(system "rm ../test_bergman/hoch1.out ")
(setq anickresolutionoutputfile "../test_bergman/hoch1.out")
(hochschild "../test_bergman/hochschild1" "../test_bergman/hoch1.res")
(calculateanickresolutiontolimit (getmaxdeg))
(anickdisplay)
(clearring)
(system "cat  ../test_bergman/thoch1 >>../test_bergman/test.diff")
(system "diff ../test_bergman/hoch1.res ../test_bergman/hoch1.res.old >../test_bergman/test.diff1")
(system "diff ../test_bergman/hoch1.out  ../test_bergman/hoch1.out.old >../test_bergman/test.diff1") 
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")

%test16 Simple noncommutative char2
(terpri)
(prin2 "simple noncommutative char2")
(system "rm ../test_bergman/char2.gb")
(simple "../test_bergman/char2" "../test_bergman/char2.gb")
(clearring)
(system "cat  ../test_bergman/tch2 >>../test_bergman/test.diff")
(system "diff -b ../test_bergman/char2.gb ../test_bergman/char2.gb.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")

%test17 Simple noncommutative char5
(terpri)
(prin2 "simple noncommutative char5")
(system "rm ../test_bergman/char5.gb")
(simple "../test_bergman/char5" "../test_bergman/char5.gb")
(clearring)
(system "cat  ../test_bergman/tch5 >>../test_bergman/test.diff")
(system "diff -b ../test_bergman/char5.gb ../test_bergman/char5.gb.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")


%test18 Simple with modlogarithms
(terpri)
(prin2 "simple with modlogarithms")
(system "rm ../test_bergman/modlog.gb")
(simple "../test_bergman/modlog" "../test_bergman/modlog.gb")
(clearring)
(setoddprimesmoduli ordinary)
(setmodulus 0)
(system "cat  ../test_bergman/tlogarith >>../test_bergman/test.diff")
(system "diff -b ../test_bergman/modlog.gb ../test_bergman/modlog.gb.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")

%test19 Leftmodulebettinumbers
(terpri)
(prin2 "Leftmodulebettinumbers")
(system "rm ../test_bergman/leftmodbtn.res ")
(system "rm ../test_bergman/leftmodbtn.out ")
(load hseries)
(setresolutiontype anick)
(setq anickresolutionoutputfile "../test_bergman/leftmodbtn.out")
(leftmodulebettinumbers "../test_bergman/leftmodbtn" "../test_bergman/leftmodbtn.res")
(calculateanickresolutiontolimit (getmaxdeg))
(anickdisplay)
(clearring)
(setnoresolution)
(system "cat  ../test_bergman/tleftmodbtn >>../test_bergman/test.diff")
(system "diff -b ../test_bergman/leftmodbtn.res ../test_bergman/leftmodbtn.res.old >../test_bergman/test.diff1")
(system "diff -b ../test_bergman/leftmodbtn.out  ../test_bergman/leftmodbtn.out.old >../test_bergman/test.diff1") 
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")

%test20 Rabbit with setrabbit
(terpri)
(prin2 "Rabbit with setrabbit")
(system "rm ../test_bergman/rabbit_set.res ")
(rabbit "../test_bergman/rabb_set" "../test_bergman/rabbit_set.res")
(clearring)
(deglexify)
(system "cat  ../test_bergman/trabb_set >>../test_bergman/test.diff")
(system "diff -b ../test_bergman/rabbit_set.res ../test_bergman/rabbit_set.res.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")



%test21 Skipcdeg
(terpri)
(prin2 "Skipcdeg - test N1")
(system "rm ../test_bergman/skipcdeg1.gb")
(setinterruptstrategy minhilblimits)
(sethseriesminima skipcdeg skipcdeg skipcdeg skipcdeg skipcdeg skipcdeg )
(simple "../test_bergman/skipcdeg1" "../test_bergman/skipcdeg1.gb")
(clearring)
(system "cat  ../test_bergman/tskip1 >>../test_bergman/test.diff")
(system "diff -b ../test_bergman/skipcdeg1.gb ../test_bergman/skipcdeg1.gb.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")

%test22 Ignorecdeg
(terpri)
(prin2 "Ignorecdeg")
(system "rm ../test_bergman/skipcdeg2.gb")
(setinterruptstrategy minhilblimits)
(sethseriesminima ignorecdeg ignorecdeg ignorecdeg)
(simple "../test_bergman/skipcdeg2" "../test_bergman/skipcdeg2.gb")
(clearring)
(system "cat  ../test_bergman/tskip2 >>../test_bergman/test.diff")
(system "diff -b ../test_bergman/skipcdeg2.gb ../test_bergman/skipcdeg2.gb.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")



(terpri)
(prin2 "Last test finished")


%Last test finished

%Starting  logfiles comparison
(system "cat  test_bergman/tlog >>test_bergman/test.diff")

