Пример #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