Els exemples que compten per la nota són només els que van seguits de ``# doctesttag: +TAG=``... ------------------------------------------------------------------------ >>> from rectangles import Rectangle Tests posrel ------------ >>> from posicio import posrel >>> r1 = Rectangle(10, 20, 40, 60, 'blau') ## ++ / ++ >>> for x in (5, 30, 200): # doctesttag: +TAG=1_posrel ... for y in (10, 20, 70): ... print(f"El punt ({x},{y}) és a la zona {posrel(x, y, r1)} del rectangle") El punt (5,10) és a la zona SO del rectangle El punt (5,20) és a la zona O del rectangle El punt (5,70) és a la zona NO del rectangle El punt (30,10) és a la zona S del rectangle El punt (30,20) és a la zona X del rectangle El punt (30,70) és a la zona N del rectangle El punt (200,10) és a la zona SE del rectangle El punt (200,20) és a la zona E del rectangle El punt (200,70) és a la zona NE del rectangle >>> r3 = Rectangle(-40, 20, -10, 60, 'blau') ## -+ / -+ >>> for x in (-50, -10, 200): # doctesttag: +TAG=1_posrel ... for y in (10, 20, 70): ... print(f"El punt ({x},{y}) és a la zona {posrel(x, y, r3)} del rectangle") El punt (-50,10) és a la zona SO del rectangle El punt (-50,20) és a la zona O del rectangle El punt (-50,70) és a la zona NO del rectangle El punt (-10,10) és a la zona S del rectangle El punt (-10,20) és a la zona X del rectangle El punt (-10,70) és a la zona N del rectangle El punt (200,10) és a la zona SE del rectangle El punt (200,20) és a la zona E del rectangle El punt (200,70) és a la zona NE del rectangle >>> r8 = Rectangle(-40, -20, -10, 20, 'blau') ## -- / -+ >>> for x in (-50, -25, -5): # doctesttag: +TAG=1_posrel ... for y in (-25, 0, 25): ... print(f"El punt ({x},{y}) és a la zona {posrel(x, y, r8)} del rectangle") El punt (-50,-25) és a la zona SO del rectangle El punt (-50,0) és a la zona O del rectangle El punt (-50,25) és a la zona NO del rectangle El punt (-25,-25) és a la zona S del rectangle El punt (-25,0) és a la zona X del rectangle El punt (-25,25) és a la zona N del rectangle El punt (-5,-25) és a la zona SE del rectangle El punt (-5,0) és a la zona E del rectangle El punt (-5,25) és a la zona NE del rectangle >>> r9 = Rectangle(-10, -20, 20, 20, 'blau') ## -- / ++ ### Limit cases (only 1st quadrant placement) >>> r10 = Rectangle(20, 20, 20, 20, 'blau') ### point >>> for x in (19, 20, 21): # doctesttag: +TAG=1_posrel ... for y in (19, 20, 21): ... print(f"El punt ({x},{y}) és a la zona {posrel(x, y, r10)} del rectangle") El punt (19,19) és a la zona SO del rectangle El punt (19,20) és a la zona O del rectangle El punt (19,21) és a la zona NO del rectangle El punt (20,19) és a la zona S del rectangle El punt (20,20) és a la zona X del rectangle El punt (20,21) és a la zona N del rectangle El punt (21,19) és a la zona SE del rectangle El punt (21,20) és a la zona E del rectangle El punt (21,21) és a la zona NE del rectangle >>> r11 = Rectangle(20, 20, 20, 60, 'blau') ### vertical line >>> for x in (19, 20, 21): # doctesttag: +TAG=1_posrel ... for y in (10, 30, 65): ... print(f"El punt ({x},{y}) és a la zona {posrel(x, y, r11)} del rectangle") El punt (19,10) és a la zona SO del rectangle El punt (19,30) és a la zona O del rectangle El punt (19,65) és a la zona NO del rectangle El punt (20,10) és a la zona S del rectangle El punt (20,30) és a la zona X del rectangle El punt (20,65) és a la zona N del rectangle El punt (21,10) és a la zona SE del rectangle El punt (21,30) és a la zona E del rectangle El punt (21,65) és a la zona NE del rectangle >>> r12 = Rectangle(10, 20, 40, 20, 'blau') ### horizontal line >>> for x in (5, 10, 41): # doctesttag: +TAG=1_posrel ... for y in (19, 20, 21): ... print(f"El punt ({x},{y}) és a la zona {posrel(x, y, r12)} del rectangle") El punt (5,19) és a la zona SO del rectangle El punt (5,20) és a la zona O del rectangle El punt (5,21) és a la zona NO del rectangle El punt (10,19) és a la zona S del rectangle El punt (10,20) és a la zona X del rectangle El punt (10,21) és a la zona N del rectangle El punt (41,19) és a la zona SE del rectangle El punt (41,20) és a la zona E del rectangle El punt (41,21) és a la zona NE del rectangle Tests classe Dibuix ------------------- >>> from dibuixos import Dibuix >>> escena = Dibuix('Modest Urgell') >>> escena.autor # doctesttag: +TAG=2_dibuix 'Modest Urgell' >>> escena.rects == [] # doctesttag: +TAG=2_dibuix True >>> print(escena.límits()) # doctesttag: +TAG=2_dibuix Rectangle de color negre entre els punts (0, 0) i (0, 0) >>> escena.afegir(Rectangle(37, 2, 48, 9, 'marró')) >>> escena.afegir(Rectangle(40, 44, 44, 49, 'magenta')) >>> escena.afegir(Rectangle(33, 14, 39, 17, 'taronja')) >>> print(escena[2]) # doctesttag: +TAG=2_dibuix Rectangle de color taronja entre els punts (33, 14) i (39, 17) >>> escena.afegir(Rectangle(80, 67, 100, 80, 'daurat')) >>> escena.afegir(Rectangle(11, 30, 46, 59, 'gris')) >>> escena.afegir(Rectangle(50, 55, 63, 69, 'daurat')) >>> escena.afegir(Rectangle(4, 20, 14, 27, 'plata')) >>> escena.autor # doctesttag: +TAG=2_dibuix 'Modest Urgell' >>> len(escena) # doctesttag: +TAG=2_dibuix 7 >>> print(escena[6]) # doctesttag: +TAG=2_dibuix Rectangle de color plata entre els punts (4, 20) i (14, 27) >>> for rect in escena.rects: # doctesttag: +TAG=2_dibuix ... print(rect) Rectangle de color marró entre els punts (37, 2) i (48, 9) Rectangle de color magenta entre els punts (40, 44) i (44, 49) Rectangle de color taronja entre els punts (33, 14) i (39, 17) Rectangle de color daurat entre els punts (80, 67) i (100, 80) Rectangle de color gris entre els punts (11, 30) i (46, 59) Rectangle de color daurat entre els punts (50, 55) i (63, 69) Rectangle de color plata entre els punts (4, 20) i (14, 27) >>> escena.afegir(Rectangle(50, 51, 63, 50, 'groc'), False) >>> print(escena[0]) # doctesttag: +TAG=2_dibuix Rectangle de color groc entre els punts (50, 51) i (63, 50) >>> print(escena.límits()) # doctesttag: +TAG=2_dibuix Rectangle de color blanc entre els punts (4, 2) i (100, 80) >>> escena.color(10, 71) # doctesttag: +TAG=2_dibuix 'blanc' >>> escena.color(36, 71) # doctesttag: +TAG=2_dibuix 'blanc' >>> escena.color(12, 69) # doctesttag: +TAG=2_dibuix 'blanc' >>> escena = Dibuix('Marià Fortuny') >>> print(escena.límits()) # doctesttag: +TAG=2_dibuix Rectangle de color negre entre els punts (0, 0) i (0, 0) >>> escena.afegir(Rectangle(47, 20, 55, 32, 'beix')) >>> escena.afegir(Rectangle(22, 9, 38, 18, 'rosa'), False) >>> escena.afegir(Rectangle(26, 50, 32, 54, 'turquesa')) >>> escena.afegir(Rectangle(33, 27, 50, 48, 'magenta')) >>> escena.afegir(Rectangle(35, 14, 46, 25, 'daurat'), False) >>> escena.afegir(Rectangle(56, 40, 64, 47, 'cian')) >>> escena.autor # doctesttag: +TAG=2_dibuix 'Marià Fortuny' >>> len(escena) # doctesttag: +TAG=2_dibuix 6 >>> print(escena[-1]) # doctesttag: +TAG=2_dibuix Rectangle de color cian entre els punts (56, 40) i (64, 47) >>> for rect in escena.rects: # doctesttag: +TAG=2_dibuix ... print(rect) Rectangle de color daurat entre els punts (35, 14) i (46, 25) Rectangle de color rosa entre els punts (22, 9) i (38, 18) Rectangle de color beix entre els punts (47, 20) i (55, 32) Rectangle de color turquesa entre els punts (26, 50) i (32, 54) Rectangle de color magenta entre els punts (33, 27) i (50, 48) Rectangle de color cian entre els punts (56, 40) i (64, 47) >>> print(escena.límits()) # doctesttag: +TAG=2_dibuix Rectangle de color blanc entre els punts (22, 9) i (64, 54) >>> escena.color(56, 19) # doctesttag: +TAG=2_dibuix 'blanc' >>> escena.color(41, 39) # doctesttag: +TAG=2_dibuix 'magenta' >>> escena.color(48, 14) # doctesttag: +TAG=2_dibuix 'blanc' >>> escena = Dibuix('Josep Guinovart') >>> escena.límits().color == 'negre' # doctesttag: +TAG=2_dibuix True >>> escena.afegir(Rectangle(47, 38, 65, 1047, 'daurat')) >>> escena.afegir(Rectangle(42, 7, 54, 16, 'taronja')) >>> escena.afegir(Rectangle(33, 19, 66, 41, 'negre')) >>> escena.afegir(Rectangle(0, 42, 9, 52, 'bordó')) >>> escena.afegir(Rectangle(58, 1058, 72, 79, 'rosa')) >>> escena.afegir(Rectangle(-50, 51, 52, 53, 'daurat')) >>> escena.afegir(Rectangle(58, 30, 64, 41, 'negre'), False) >>> escena.afegir(Rectangle(4, 47, 12, 51, 'gris')) >>> escena.afegir(Rectangle(29, 75, 46, 100, 'turquesa'), False) >>> escena.autor # doctesttag: +TAG=2_dibuix 'Josep Guinovart' >>> len(escena) # doctesttag: +TAG=2_dibuix 9 >>> print(escena[-1]) # doctesttag: +TAG=2_dibuix Rectangle de color gris entre els punts (4, 47) i (12, 51) >>> for rect in escena: # doctesttag: +TAG=2_dibuix ... print(rect) Rectangle de color turquesa entre els punts (29, 75) i (46, 100) Rectangle de color negre entre els punts (58, 30) i (64, 41) Rectangle de color daurat entre els punts (47, 38) i (65, 1047) Rectangle de color taronja entre els punts (42, 7) i (54, 16) Rectangle de color negre entre els punts (33, 19) i (66, 41) Rectangle de color bordó entre els punts (0, 42) i (9, 52) Rectangle de color rosa entre els punts (58, 1058) i (72, 79) Rectangle de color daurat entre els punts (-50, 51) i (52, 53) Rectangle de color gris entre els punts (4, 47) i (12, 51) >>> print(escena.límits()) # doctesttag: +TAG=2_dibuix Rectangle de color blanc entre els punts (-50, 7) i (72, 1047) >>> escena.color(67, 55) # doctesttag: +TAG=2_dibuix 'blanc' >>> escena.color(40, 11) # doctesttag: +TAG=2_dibuix 'blanc' Test interseccions ------------------ >>> from itrect import interseccions >>> r1 = Rectangle(7, 17, 20, 18, 'vermell') >>> r2 = Rectangle(5, 17, 10, 20, 'vermell') >>> for x in interseccions(iter([r1])): # doctesttag: +TAG=3_interseccions ... print(x) >>> for x in interseccions(iter([r1,r2])): # doctesttag: +TAG=3_interseccions ... print(x) 3 >>> for x in interseccions(iter([r1,r2,r2,r1])): # doctesttag: +TAG=3_interseccions ... print(x, end=',') 3,15,3, >>> lr = [] >>> r = Rectangle(7, 17, 20, 18, 'vermell') >>> lr.append(r) >>> r = Rectangle(10, 8, 20, 13, 'marró') >>> lr.append(r) >>> r = Rectangle(14, 10, 15, 19, 'turquesa') >>> lr.append(r) >>> r = Rectangle(3, 1, 11, 3, 'lila') >>> lr.append(r) >>> r = Rectangle(1, 1, 14, 12, 'lila') >>> lr.append(r) >>> r = Rectangle(0, 12, 5, 15, 'lila') >>> lr.append(r) >>> r = Rectangle(16, 13, 17, 20, 'lila') >>> lr.append(r) >>> r = Rectangle(19, 5, 20, 16, 'daurat') >>> lr.append(r) >>> r = Rectangle(3, 11, 10, 13, 'blau') >>> lr.append(r) >>> r = Rectangle(14, 0, 19, 19, 'rosa') >>> lr.append(r) >>> r = Rectangle(3, 7, 15, 20, 'turquesa') >>> lr.append(r) >>> r = Rectangle(5, 2, 9, 18, 'magenta') >>> lr.append(r) >>> r = Rectangle(6, 14, 10, 20, 'cian') >>> lr.append(r) >>> it = iter(lr) >>> for x in interseccions(it): # doctesttag: +TAG=3_interseccions ... print(x) 3 16 12 44 12 >>> lr = [] >>> r = Rectangle(6, 18, 12, 19, 'gris') >>> lr.append(r) >>> r = Rectangle(12, 19, 20, 20, 'beix') >>> lr.append(r) >>> r = Rectangle(9, 18, 10, 20, 'blanc') >>> lr.append(r) >>> r = Rectangle(15, 6, 16, 14, 'blau') >>> lr.append(r) >>> r = Rectangle(6, 18, 18, 19, 'beix') >>> lr.append(r) >>> r = Rectangle(17, 3, 20, 19, 'daurat') >>> lr.append(r) >>> r = Rectangle(11, 11, 13, 19, 'groc') >>> lr.append(r) >>> r = Rectangle(16, 15, 18, 18, 'vermell') >>> lr.append(r) >>> r = Rectangle(17, 16, 18, 19, 'turquesa') >>> lr.append(r) >>> r = Rectangle(6, 12, 16, 13, 'marró') >>> lr.append(r) >>> it = iter(lr) >>> for x in interseccions(it): # doctesttag: +TAG=3_interseccions ... print(x) 1 2 >>> lr = [] >>> r = Rectangle(15, 17, 19, 20, 'taronja') >>> lr.append(r) >>> r = Rectangle(12, 13, 19, 20, 'negre') >>> lr.append(r) >>> r = Rectangle(0, 5, 4, 18, 'turquesa') >>> lr.append(r) >>> r = Rectangle(9, 1, 10, 20, 'taronja') >>> lr.append(r) >>> r = Rectangle(4, 11, 12, 16, 'oliva') >>> lr.append(r) >>> it = iter(lr) >>> for x in interseccions(it): # doctesttag: +TAG=3_interseccions ... print(x) 12 5 >>> lr = [] >>> r = Rectangle(12, 2, 13, 12, 'taronja') >>> lr.append(r) >>> r = Rectangle(12, 16, 16, 18, 'cian') >>> lr.append(r) >>> r = Rectangle(6, 16, 15, 20, 'groc') >>> lr.append(r) >>> r = Rectangle(5, 11, 12, 19, 'rosa') >>> lr.append(r) >>> r = Rectangle(11, 0, 17, 19, 'maragda') >>> lr.append(r) >>> r = Rectangle(19, 11, 20, 13, 'daurat') >>> lr.append(r) >>> r = Rectangle(4, 12, 7, 20, 'taronja') >>> lr.append(r) >>> r = Rectangle(7, 10, 8, 20, 'magenta') >>> lr.append(r) >>> r = Rectangle(12, 17, 17, 18, 'beix') >>> lr.append(r) >>> r = Rectangle(4, 1, 9, 18, 'negre') >>> lr.append(r) >>> r = Rectangle(6, 2, 12, 16, 'blau') >>> lr.append(r) >>> r = Rectangle(16, 13, 20, 16, 'vermell') >>> lr.append(r) >>> r = Rectangle(12, 8, 13, 13, 'verd') >>> lr.append(r) >>> r = Rectangle(8, 3, 17, 9, 'negre') >>> lr.append(r) >>> it = iter(lr) >>> for x in interseccions(it): # doctesttag: +TAG=3_interseccions ... print(x) 6 18 8 42 1 >>> lr = [] >>> r = Rectangle(2, 5, 8, 13, 'cian') >>> lr.append(r) >>> r = Rectangle(16, 18, 18, 19, 'cian') >>> lr.append(r) >>> r = Rectangle(1, 12, 6, 16, 'negre') >>> lr.append(r) >>> r = Rectangle(2, 3, 8, 5, 'bordó') >>> lr.append(r) >>> r = Rectangle(3, 1, 12, 7, 'lila') >>> lr.append(r) >>> r = Rectangle(16, 19, 19, 20, 'plata') >>> lr.append(r) >>> r = Rectangle(1, 0, 20, 6, 'beix') >>> lr.append(r) >>> r = Rectangle(11, 16, 16, 18, 'blau') >>> lr.append(r) >>> r = Rectangle(5, 3, 8, 19, 'beix') >>> lr.append(r) >>> it = iter(lr) >>> for x in interseccions(it): # doctesttag: +TAG=3_interseccions ... print(x) 10 >>> r = Rectangle(5, 3, 8, 19, 'beix') >>> for x in interseccions((r for _ in range(10))): # doctesttag: +TAG=3_interseccions ... print(x, end=',') 48,48,48,48,48,48,48,48,48, >>> for x in interseccions((r1 for _ in range(20))): # doctesttag: +TAG=3_interseccions ... print(x, end=',') 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, Tests crea_graf_rects --------------------- >>> from crea import crea_graf_rects >>> lr = [] >>> r = Rectangle(6, 38, 89, 96, 'blau') >>> lr.append(r) >>> r = Rectangle(41, 3, 54, 35, 'magenta') >>> lr.append(r) >>> r = Rectangle(71, 6, 93, 99, 'verd') >>> lr.append(r) >>> r = Rectangle(1, 41, 66, 58, 'blanc') >>> lr.append(r) >>> r = Rectangle(10, 16, 99, 74, 'cian') >>> lr.append(r) >>> r = Rectangle(87, 96, 90, 97, 'daurat') >>> lr.append(r) >>> g = crea_graf_rects(lr[:3]) >>> set(g.nodes()) == set(lr[:3]) and g.number_of_edges() == 1 # doctesttag: +TAG=4_crea_graf_rects True >>> for x in sorted(sorted([str(a), str(b)]) + [c] for a, b, c in g.edges(data=True)): ... print(x) # doctesttag: +TAG=4_crea_graf_rects ['Rectangle de color blau entre els punts (6, 38) i (89, 96)', 'Rectangle de color verd entre els punts (71, 6) i (93, 99)', {'àrea': 1044}] >>> g = crea_graf_rects(lr) >>> set(g.nodes()) == set(lr) and g.number_of_edges() == 7 # doctesttag: +TAG=4_crea_graf_rects True >>> for x in sorted(sorted([str(a), str(b)]) + [c] for a, b, c in g.edges(data=True)): ... print(x) # doctesttag: +TAG=4_crea_graf_rects ['Rectangle de color blanc entre els punts (1, 41) i (66, 58)', 'Rectangle de color blau entre els punts (6, 38) i (89, 96)', {'àrea': 1020}] ['Rectangle de color blanc entre els punts (1, 41) i (66, 58)', 'Rectangle de color cian entre els punts (10, 16) i (99, 74)', {'àrea': 952}] ['Rectangle de color blau entre els punts (6, 38) i (89, 96)', 'Rectangle de color cian entre els punts (10, 16) i (99, 74)', {'àrea': 2844}] ['Rectangle de color blau entre els punts (6, 38) i (89, 96)', 'Rectangle de color verd entre els punts (71, 6) i (93, 99)', {'àrea': 1044}] ['Rectangle de color cian entre els punts (10, 16) i (99, 74)', 'Rectangle de color magenta entre els punts (41, 3) i (54, 35)', {'àrea': 247}] ['Rectangle de color cian entre els punts (10, 16) i (99, 74)', 'Rectangle de color verd entre els punts (71, 6) i (93, 99)', {'àrea': 1276}] ['Rectangle de color daurat entre els punts (87, 96) i (90, 97)', 'Rectangle de color verd entre els punts (71, 6) i (93, 99)', {'àrea': 3}] >>> lr = [] >>> r = Rectangle(75, 51, 97, 96, 'vermell') >>> lr.append(r) >>> r = Rectangle(80, 53, 91, 55, 'oliva') >>> lr.append(r) >>> r = Rectangle(50, 58, 58, 75, 'taronja') >>> lr.append(r) >>> r = Rectangle(86, 54, 95, 95, 'verd') >>> lr.append(r) >>> r = Rectangle(60, 15, 63, 80, 'magenta') >>> lr.append(r) >>> r = Rectangle(34, 9, 66, 80, 'groc') >>> lr.append(r) >>> r = Rectangle(1, 26, 80, 75, 'verd') >>> lr.append(r) >>> r = Rectangle(70, 47, 71, 60, 'negre') >>> lr.append(r) >>> r = Rectangle(97, 74, 99, 75, 'plata') >>> lr.append(r) >>> g = crea_graf_rects(lr) >>> set(g.nodes()) == set(lr) and g.number_of_edges() == 10 # doctesttag: +TAG=4_crea_graf_rects True >>> for x in sorted(sorted([str(a), str(b)]) + [c] for a, b, c in g.edges(data=True)): ... print(x) # doctesttag: +TAG=4_crea_graf_rects ['Rectangle de color groc entre els punts (34, 9) i (66, 80)', 'Rectangle de color magenta entre els punts (60, 15) i (63, 80)', {'àrea': 195}] ['Rectangle de color groc entre els punts (34, 9) i (66, 80)', 'Rectangle de color taronja entre els punts (50, 58) i (58, 75)', {'àrea': 136}] ['Rectangle de color groc entre els punts (34, 9) i (66, 80)', 'Rectangle de color verd entre els punts (1, 26) i (80, 75)', {'àrea': 1568}] ['Rectangle de color magenta entre els punts (60, 15) i (63, 80)', 'Rectangle de color verd entre els punts (1, 26) i (80, 75)', {'àrea': 147}] ['Rectangle de color negre entre els punts (70, 47) i (71, 60)', 'Rectangle de color verd entre els punts (1, 26) i (80, 75)', {'àrea': 13}] ['Rectangle de color oliva entre els punts (80, 53) i (91, 55)', 'Rectangle de color verd entre els punts (86, 54) i (95, 95)', {'àrea': 5}] ['Rectangle de color oliva entre els punts (80, 53) i (91, 55)', 'Rectangle de color vermell entre els punts (75, 51) i (97, 96)', {'àrea': 22}] ['Rectangle de color taronja entre els punts (50, 58) i (58, 75)', 'Rectangle de color verd entre els punts (1, 26) i (80, 75)', {'àrea': 136}] ['Rectangle de color verd entre els punts (1, 26) i (80, 75)', 'Rectangle de color vermell entre els punts (75, 51) i (97, 96)', {'àrea': 120}] ['Rectangle de color verd entre els punts (86, 54) i (95, 95)', 'Rectangle de color vermell entre els punts (75, 51) i (97, 96)', {'àrea': 369}] >>> g = crea_graf_rects(lr[:6]) >>> set(g.nodes()) == set(lr[:6]) # doctesttag: +TAG=4_crea_graf_rects True >>> for x in sorted((sorted([str(a), str(b)]) + [c] for a, b, c in g.edges(data=True))): ... print(x) # doctesttag: +TAG=4_crea_graf_rects ['Rectangle de color groc entre els punts (34, 9) i (66, 80)', 'Rectangle de color magenta entre els punts (60, 15) i (63, 80)', {'àrea': 195}] ['Rectangle de color groc entre els punts (34, 9) i (66, 80)', 'Rectangle de color taronja entre els punts (50, 58) i (58, 75)', {'àrea': 136}] ['Rectangle de color oliva entre els punts (80, 53) i (91, 55)', 'Rectangle de color verd entre els punts (86, 54) i (95, 95)', {'àrea': 5}] ['Rectangle de color oliva entre els punts (80, 53) i (91, 55)', 'Rectangle de color vermell entre els punts (75, 51) i (97, 96)', {'àrea': 22}] ['Rectangle de color verd entre els punts (86, 54) i (95, 95)', 'Rectangle de color vermell entre els punts (75, 51) i (97, 96)', {'àrea': 369}] >>> lr = [] >>> r = Rectangle(37, 80, 54, 82, 'blau') >>> lr.append(r) >>> r = Rectangle(81, 93, 99, 99, 'cian') >>> lr.append(r) >>> r = Rectangle(45, 4, 49, 38, 'rosa') >>> lr.append(r) >>> r = Rectangle(69, 93, 94, 95, 'daurat') >>> lr.append(r) >>> r = Rectangle(58, 20, 63, 46, 'plata') >>> lr.append(r) >>> r = Rectangle(68, 5, 91, 39, 'blanc') >>> lr.append(r) >>> r = Rectangle(15, 46, 62, 95, 'marró') >>> lr.append(r) >>> r = Rectangle(72, 40, 82, 50, 'magenta') >>> lr.append(r) >>> g = crea_graf_rects(lr) >>> set(g.nodes()) == set(lr) and g.number_of_edges() == 2 # doctesttag: +TAG=4_crea_graf_rects True >>> for x in sorted(sorted([str(a), str(b)]) + [c] for a, b, c in g.edges(data=True)): ... print(x) # doctesttag: +TAG=4_crea_graf_rects ['Rectangle de color blau entre els punts (37, 80) i (54, 82)', 'Rectangle de color marró entre els punts (15, 46) i (62, 95)', {'àrea': 34}] ['Rectangle de color cian entre els punts (81, 93) i (99, 99)', 'Rectangle de color daurat entre els punts (69, 93) i (94, 95)', {'àrea': 26}] Tests preu_mitja ---------------- >>> import pandas as pd >>> from preum import preu_mitja >>> df = pd.read_csv('pantalons2.csv', parse_dates=['Data']) >>> p = preu_mitja(df, 'M', 'home', 'Shanghai Yangji Car Accessories Co. Ltd.') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 20.90 >>> p = preu_mitja(df, 'XS', 'unisex', 'TEXTILANDIA INTERNACIONAL') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 17.96 >>> p = preu_mitja(df, 'S', 'dona', 'POPPYS KNITWEAR PRIVATE') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 24.76 >>> p = preu_mitja(df, 'L', 'home', 'Shanghai Yangji Car Accessories Co. Ltd.') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 4.98 >>> p = preu_mitja(df, 'XL', 'home', 'NIEN HSING TEXTILE CO. LTD.') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 0.00 >>> df = pd.read_csv('pantalons3.csv', parse_dates=['Data']) >>> p = preu_mitja(df, 'M', 'unisex', 'NIEN HSING TEXTILE CO. LTD.') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 0.00 >>> p = preu_mitja(df, 'XL', 'unisex', 'TÈXTILS DEL SOL S.A.') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 16.26 >>> p = preu_mitja(df, 'S', 'dona', 'Shanghai Yangji Car Accessories Co. Ltd.') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 49.66 >>> p = preu_mitja(df, 'S', 'dona', 'MODA CATALANA XXI') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 5.59 >>> p = preu_mitja(df, 'L', 'dona', 'MODA CATALANA XXI') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 23.83 >>> df = pd.read_csv('pantalons4.csv', parse_dates=['Data']) >>> p = preu_mitja(df, 'S', 'dona', 'POPPYS KNITWEAR PRIVATE') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 24.34 >>> p = preu_mitja(df, 'XS', 'unisex', 'ROBA URBANA GLOBAL') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 3.14 >>> p = preu_mitja(df, 'XS', 'dona', 'Shanghai Yangji Car Accessories Co. Ltd.') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 9.41 >>> p = preu_mitja(df, 'S', 'unisex', 'TEXTILANDIA INTERNACIONAL') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 0.00 >>> p = preu_mitja(df, 'S', 'unisex', 'Shanghai Yangji Car Accessories Co. Ltd.') >>> print(f'{p:.2f}') # doctesttag: +TAG=5_preu_mitja 3.83