コード例 #1
0
 def test_descuadre(self):
     ap1 = APU()
     ap1.euros = 1000
     ap2 = APU()
     ap2.euros = -500
     ap3 = APU()
     ap3.euros = -500
     asi = Asiento(apuntes=[ap1, ap2, ap3])
     self.assertEqual(0, asi.descuadre)
     ap3.euros = -300
     self.assertEqual(200, asi.descuadre)
コード例 #2
0
 def test_cuadra(self):
     ap1 = APU()
     ap1.euros = 1000
     ap2 = APU()
     ap2.euros = -500
     ap3 = APU()
     ap3.euros = -500
     asi = Asiento(apuntes=[ap1, ap2, ap3])
     self.assertEqual(True, asi.cuadra())
     ap3.euros = -300
     self.assertEqual(False, asi.cuadra())
コード例 #3
0
 def test_numerador(self):
     e = ContaSOL(primer_asiento=10)
     apu = APU(euros=5,
               cuenta='4',
               fecha=date(2010, 2, 1),
               concepto="Apu a")
     apu2 = APU(euros=5,
                cuenta='4',
                fecha=date(2010, 2, 1),
                concepto="Apu a")
     asi = Asiento(apuntes=[apu, apu2])
     asi.vincular(e, autonum=True)
     self.assertEqual(10, apu.asiento)
コード例 #4
0
 def test_add_rm(self):
     ap1 = APU()
     ap1.euros = 1000
     ap2 = APU()
     ap2.euros = -500
     ap3 = APU()
     ap3.euros = -500
     asi = Asiento(apuntes=[ap1, ap2, ap3])
     asi.rm(ap3)
     self.assertRaises(ValueError, asi.rm, ap3)
     asi.add(ap3)
     self.assertRaises(ValueError, asi.add, ap3)
コード例 #5
0
 def test_generacion_xls(self):
     e = EntornoSOL()
     ap1 = APU()
     ap1.euros = 1000
     ap2 = APU()
     ap2.euros = -500
     ap3 = APU()
     ap3.euros = -500
     asi = Asiento(apuntes=[ap1, ap2, ap3])
     asi.vincular(e)
     f = StringIO()
     e.generar_xls_table('APU', f)
コード例 #6
0
    def test_eventos(self):
        def on_bind(tipo, entorno, obj):
            obj.manipulated = 1

        def on_unbind(tipo, entorno, obj):
            obj.manipulated = 2

        e = EntornoSOL()
        e.on_pre_bind += on_bind
        e.on_pre_unbind += on_unbind
        ap1 = APU()
        ap1.manipulated = 0
        ap1.euros = 1000
        e.bind(ap1)
        self.assertEqual(1, ap1.manipulated)
        e.unbind(ap1)
        self.assertEqual(ap1.manipulated, 2)
コード例 #7
0
 def test_sorted(self):
     apus = self.apuntes()
     s = APU.sort_table(apus)
     orden_esperado = ('primer', 'segundo', 'tercer', 'cuarto', 'quinto',
                       'sexto', 'septimo')
     for ap, q in zip(apus, orden_esperado):
         t = 'El %s apunte' % q
         self.assertEqual(ap.concepto, t)
コード例 #8
0
 def test_renumera(self):
     ap1 = APU()
     ap1.euros = 1000
     ap2 = APU()
     ap2.euros = -500
     ap3 = APU()
     ap3.euros = -300
     asi = Asiento(apuntes=[ap1, ap2, ap3])
     asi.renumera()
     self.assertEquals([1, 2, 3], [ap.orden for ap in asi.apuntes])
     asi2 = Asiento(apuntes=[ap2, ap3, ap1])
     asi2.renumera()
     self.assertEquals([1, 2, 3], [ap.orden for ap in asi2.apuntes])
     self.assertEquals([3, 1, 2], [ap.orden for ap in asi.apuntes])
コード例 #9
0
 def test_asiento(self):
     e = EntornoSOL()
     ap1 = APU()
     ap1.euros = 1000
     ap2 = APU()
     ap2.euros = -500
     ap3 = APU()
     ap3.euros = -500
     asi = Asiento(apuntes=[ap1, ap2, ap3])
     asi.vincular(e)
     self.assertListEqual([e, e, e],
                          [ap1.entorno, ap2.entorno, ap3.entorno])
     asi.desvincular()
     self.assertListEqual([None, None, None],
                          [ap1.entorno, ap2.entorno, ap3.entorno])
コード例 #10
0
 def test_autocierre(self):
     e = ContaSOL()
     e.on_pre_bind += auto_crea_cuentas
     AutoAcumulador(e)
     for c, importe in (('43000000', 1000), ('70000000', -1000)):
         apu = APU(euros=importe,
                   cuenta=c,
                   fecha=date(2010, 2, 1),
                   concepto="Apu a")
         e.bind(apu)
     for c, importe in (('41000000', -500), ('60000000', 500)):
         apu = APU(euros=importe,
                   cuenta=c,
                   fecha=date(2010, 2, 2),
                   concepto="Apu b")
         e.bind(apu)
     for c, importe in (('43000000', -1000), ('57000000', 1000)):
         apu = APU(euros=importe,
                   cuenta=c,
                   fecha=date(2010, 3, 2),
                   concepto="Apu c")
         e.bind(apu)
     for c, importe in (('41000000', 500), ('57000000', -500)):
         apu = APU(euros=importe,
                   cuenta=c,
                   fecha=date(2010, 4, 2),
                   concepto="Apu d")
         e.bind(apu)
     print_diario(e.get_tabla_elemento('APU'))
     reg = e.auto_cierre('reg',
                         date(2010, 12, 31),
                         '12900001',
                         'Regularizar',
                         selector=solo_pyg)
     asi = reg[0]
     self.assertEqual(-500, asi.apuntes[-1].euros)
     asi.vincular(e)
     cie = e.auto_cierre('cie', date(2010, 12, 31), '90000001', 'Cierre')
     self.assertEqual(2, len(cie[0].apuntes))
     cie[0].vincular(e)
     print_diario(e.get_tabla_elemento('APU'))
コード例 #11
0
 def apuntes(self):
     apus = [
         (date(2014, 1, 4), 2, 1, 'El sexto apunte'),
         (date(2014, 1, 4), 2, 1, 'El septimo apunte'),
         (date(2014, 1, 2), 3, 1, 'El cuarto apunte'),
         (date(2014, 1, 2), 3, 2, 'El quinto apunte'),
         (date(2014, 1, 1), 1, 1, 'El primer apunte'),
         (date(2014, 1, 1), 1, 2, 'El segundo apunte'),
         (date(2014, 1, 1), 1, 3, 'El tercer apunte'),
     ]
     apus2 = []
     for ap in apus:
         apu = APU()
         apu.fecha = ap[0]
         apu.asiento = ap[1]
         apu.orden = ap[2]
         apu.concepto = ap[3]
         apus2.append(apu)
     return apus2
コード例 #12
0
 def test_reordena(self):
     ap1 = APU()
     ap1.euros = 1000
     ap2 = APU()
     ap2.euros = -500
     ap3 = APU()
     ap3.euros = -300
     asi = Asiento(apuntes=[ap1, ap2, ap3])
     asi.renumera()
     ap2.orden = 100
     asi.reordena()
     self.assertEquals([1000, -300, -500], [ap.euros for ap in asi.apuntes])
     ap1.orden = 50
     asi.reordena()
     self.assertEquals([-300, 1000, -500], [ap.euros for ap in asi.apuntes])
コード例 #13
0
def crea_apu(**kwargs):
    apu = APU()
    for k, v in kwargs.iteritems():
        setattr(apu, k, v)
    return apu