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

(setq default_settings (getsetup))

%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)
(setsetup default_settings)

%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)
(setsetup default_settings)

%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")
(setsetup default_settings)



%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")
(setsetup default_settings)


%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")
(setsetup default_settings)



%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)
(setsetup default_settings)




%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")
(setsetup default_settings)



%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")
(setsetup default_settings)





%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")
(setsetup default_settings)



%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")
(setsetup default_settings)

%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")
(setsetup default_settings)


%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")
(setsetup default_settings)

%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")
(setsetup default_settings)


%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")
(setsetup default_settings)

%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")
(setsetup default_settings)


%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")
(setsetup default_settings)



%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")
(setsetup default_settings)

%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)
(setobjecttype ring)
(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")
(setsetup default_settings)



%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")
(setsetup default_settings)

%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)
(setinterruptstrategy ordinary)
(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")
(setsetup default_settings)

%test23 Matrix ordering
(terpri)
(prin2 "Matrix ordering")
(system "rm ../test_bergman/matrix.gb")
(setweights 1 2 1)
(setordermatrix  ((1 2 1) (0 -1 1) (3 -2 2)))
(simple "../test_bergman/matrix" "../test_bergman/matrix.gb")
(clearring)
(clearweights)
(system "cat  ../test_bergman/tmatrix >>../test_bergman/test.diff")
(system "diff -b ../test_bergman/matrix.gb ../test_bergman/matrix.gb.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")
(setsetup default_settings)



%test24 Testindata
(terpri)
(prin2 "Test input data")
(dskin "../test_bergman/testindata")
(clearring)
(system "cat  ../test_bergman/tdata >>../test_bergman/test.diff")

%test25 Linear relations (commutative)
(terpri)
(prin2 "Linear relations")
(system "rm ../test_bergman/lin.res")
(commify)
(SETSAFELOWTERMSHANDLING)
(simple "../test_bergman/lin"  "../test_bergman/lin.res")
(clearring)
(system "cat  ../test_bergman/tlin >>../test_bergman/test.diff")
(system "diff -b ../test_bergman/lin.res ../test_bergman/lin.res.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")
(setsetup default_settings)

%test26 Linear relations (non-commutative)
(terpri)
(prin2 "Linear relations - non-commutative")
(system "rm ../test_bergman/lin_nc.res")
(noncommify)
(SETSAFELOWTERMSHANDLING)
(simple "../test_bergman/lin_nc"  "../test_bergman/lin_nc.res")
(clearring)
(SETQUICKLOWTERMSHANDLING)
(system "cat  ../test_bergman/tlin_nc >>../test_bergman/test.diff")
(system "diff -b ../test_bergman/lin_nc.res ../test_bergman/lin_nc.res.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")
(setsetup default_settings)


%test27 Minimal resolution
(terpri)
(prin2 "Minimal resolution")
(system "rm ../test_bergman/minr.res")
(setweights 1 1 1 1 )
(minr "../test_bergman/minr_in1" "../test_bergman/minr_in2" "../test_bergman/minr.res")
(clearring)
(clearweights)
(system "cat  ../test_bergman/tminr >>../test_bergman/test.diff")
(system "diff -b ../test_bergman/minr.res ../test_bergman/minr.res.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")
(setsetup default_settings)

%test 28 Anick with weights (1 1)
%(terpri)
%(prin2 "Anick  with weights")
%(system "rm ../test_bergman/anick_w.res ")
%(system "rm ../test_bergman/anick_w.out ")
%(setq anickresolutionoutputfile "../test_bergman/anick_w.out")
%(printsetup)
%(anick "../test_bergman/anick_w" "../test_bergman/anick_w.res")
%(calculateanickresolutiontolimit (getmaxdeg))
%(anickdisplay)
%(clearring)
%(system "cat  ../test_bergman/tanw >>../test_bergman/test.diff")
%(system "diff ../test_bergman/anick_w.res ../test_bergman/anick_w.res.old >../test_bergman/test.diff1")
%(system "diff ../test_bergman/anick_w.out  ../test_bergman/anick_w.out.old >../test_bergman/test.diff1") 
%(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
%(system "rm ../test_bergman/test.diff1")
%(setsetup default_settings)

%test 29 Simple with weights and maxdeg

(terpri)
(prin2 "Combination: weights and maxdeg")
(system "rm ../test_bergman/simp_w_max.gb")
(simple "../test_bergman/simp_w_max" "../test_bergman/simp_w_max.gb")
(clearweights)
(clearring)
(system "cat  ../test_bergman/tswm >>../test_bergman/test.diff")
(system "diff ../test_bergman/simp_w_max.gb ../test_bergman/simp_w_max.gb.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")
(setsetup default_settings)


%test 30 Nonhomogeneity
(terpri)
(prin2 "Nonhomogeneity")
(system "rm ../test_bergman/nhom.res")
(noncommify)
(setitemwise)
(destabilise)
(SETSAFELOWTERMSHANDLING)
(setresolutiontype nil)
(simple "../test_bergman/nhom"  "../test_bergman/nhom.res")
(clearring)
(system "cat  ../test_bergman/tnhom >>../test_bergman/test.diff")
(system "diff -b ../test_bergman/nhom.res ../test_bergman/nhom.res.old >../test_bergman/test.diff1")
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")
(setdegreewise)
(stabilise)
(SETQUICKLOWTERMSHANDLING)
(setsetup default_settings)

%test31 Combination:  Anick in characteristic 5
(terpri)
(prin2 "Anick in characteristic 5")
(system "rm ../test_bergman/anick_5.res ")
(system "rm ../test_bergman/anick_5.out ")
(setq anickresolutionoutputfile "../test_bergman/anick_5.out")
(anick "../test_bergman/anick_5" "../test_bergman/anick_5.res")
(calculateanickresolutiontolimit (getmaxdeg))
(anickdisplay)
(clearring)
(system "cat  ../test_bergman/tan5 >>../test_bergman/test.diff")
(system "diff ../test_bergman/anick_5.res ../test_bergman/anick_5.res.old >../test_bergman/test.diff1")
(system "diff ../test_bergman/anick_5.out  ../test_bergman/anick_5.out.old >../test_bergman/test.diff1") 
(system "cat  ../test_bergman/test.diff1 >>../test_bergman/test.diff")
(system "rm ../test_bergman/test.diff1")
(setsetup default_settings)



(terpri)
(prin2 "Last test finished")


%Last test finished

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

