|
|
|
![]() |
|
Strumenti |
![]() |
#1 | ||
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
Test Driven Development, Task 14.1.2 [71104 vs redcloud, GIUSTO IN RITARDO]
allora, richiesta del task:
Quote:
Quote:
![]() |
||
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
dopo una breve spiegazione a redcloud sul TDD e sul Pair Programming, ecco il primo test:
Codice:
public void testCheckIncomingStones() { playField.addIncomingStones(5); assertEquals(playField.getIncomingStones(), 5); } Ultima modifica di 71104 : 08-04-2006 alle 00:35. |
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
redcloud ha risolto quel test aggiungendo a PlayField:
Codice:
public int getIncomingStones() { return warningBox.getCounter(); } ![]() la prima soluzione che era venuta in mente ad entrambi esaminando il codice di playField era una variabile globale, lui invece ne ha trovata una più semplice ![]() ragazzi, purtroppo devo dire che stasera abbiamo scritto pochissimo codice a causa del fatto che redcloud era al suo primo pair ma anche a causa del fatto che non esaminavo il codice da parecchio; adesso però siamo partiti e abbiamo capito come fare: da adesso andiamo molto più spediti. per stasera facciamo solo altri due test e relative implementazioni, ma contiamo di finire entro domenica; io domani esco di sera e di pomeriggio sono a casa, se sabato pomeriggio va bene anche a redcloud (lo so, sto chiedendo qualcosa di infame ^_^) possiamo finire anche domani. nel frattempo ecco il prossimo semplicissimo test: Codice:
public void testInsertNoStones() { controller.insertStones(0); assertFalse(controller.getGrid().isGemAt(0, 0)); } Ultima modifica di 71104 : 08-04-2006 alle 01:43. |
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1266
|
Oggi pomeriggio ci sarò
![]() |
![]() |
![]() |
![]() |
#5 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
Quote:
![]() cmq, soluzione di redcloud all'ultimo test: Codice:
public void insertStones(int stoneNumber) { ; } prossimo test: Codice:
public void testInsertFirstStone() { controller.insertStones(1); assertTrue(controller.getGrid().isGemAt(0, 0)); assertFalse(controller.getGrid().isGemAt(0, 1)); } ![]() |
|
![]() |
![]() |
![]() |
#6 |
Bannato
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1266
|
Eeeee ormai ho trovato un passatempo produttivo! Addio ogame!
![]() ![]() |
![]() |
![]() |
![]() |
#7 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
Quote:
![]() allora, soluzione di redcloud: Codice:
public void insertStones(int stoneNumber) { if(stoneNumber==0) { ; } else { grid.insertGem(0, 0, Stone.create(DroppableColor.EMERALD)); } } ![]() e a seguire a ruota l'inserzione delle pietre successive all'ottava. notte a tutti |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
stamattina prima di procedere mi puoi conttattare su msn?(sono b0l_padawan, ho gia provato a contattarti)
devo committare una modifica grossa su gridController e voglio farla prima che continuiate a toccarla se no è un macello |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
la modifica era piccola sono riuscito ad arrangiarmi per i fatti miei ed ho committato. Cmq continuo lo sviluppo del pattern, se riprendete fatemi sapere.
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1545
|
Quote:
![]() Passa anche se gli fai ritornare 5 direttamente ![]() |
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
|
Quando io e RedCloud avevamo iniziato questo task Ufo aveva chiesto se era possibile non complicare Grid e GrodController.
In grid è già presente il metodo insert insertStoneInColumn()...perchè non usate e modficate quello?? SOprattutto questo metodo è accedibile direttamente da playField: Codice:
playField.getGridController().getGrid().insertStoneInColumn() Pensateci se è una cosa che vi piace o no. A me piace moooolto ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#12 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
eh Bonfo, sto metodo non l'avevamo neanche notato ^^
grazie per avercelo fatto notare, il codice di Diamond Crush è doventato piuttosto vasto e quando si pensa ai test tocca pure cercare i metodi giusti in mezzo a tanti... |
![]() |
![]() |
![]() |
#13 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
Quote:
![]() vedremo dove ci porterà il codice. |
|
![]() |
![]() |
![]() |
#14 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
scusate, ma il metodo insertStoneInColumn perché l'avete messo visto che non lo usa nessuno...? (Eclipse non trova riferimenti)
era stato messo apposta per questo task? |
![]() |
![]() |
![]() |
#15 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
Quote:
Codice:
public void testInsertNextStones() { controller.insertStones(2); assertTrue(controller.getGrid().isGemAt(0, 0)); assertTrue(controller.getGrid().isGemAt(0, 1)); assertFalse(controller.getGrid().isGemAt(0, 2)); } ![]() |
|
![]() |
![]() |
![]() |
#16 |
Bannato
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1266
|
Per superare
Codice:
public void testInsertNextStones() { controller.insertStones(2); assertTrue(controller.getGrid().isGemAt(0, 0)); assertTrue(controller.getGrid().isGemAt(0, 1)); assertFalse(controller.getGrid().isGemAt(0, 2)); } Codice:
public void insertStones(int stoneNumber) { for(int i=0; i<stoneNumber; i++) { grid.insertGem(0, i, Stone.create(DroppableColor.EMERALD)); } } |
![]() |
![]() |
![]() |
#17 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
bene, adesso vediamo i colori:
Codice:
public void testStoneColor() { controller.insertStones(8, pattern); for(int i = 0; i < 8; i++) { assertEquals(grid.getGemAt(0, i).getColor(), pattern.getDroppableColor(i)); } } Ultima modifica di 71104 : 08-04-2006 alle 15:29. |
![]() |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11782
|
Quote:
Se tutti dovessimo lasciare metodi che seriviranno in futuro, il codice diventa grande il doppio. Nel repository voglio solo codice che e' usato, e che e' testato.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#19 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
ho spostato tutti i test di questo task in TestIncomingStones, tranne quello per getIncomingStones che si trova ancora in mezzo a quelli per PlayField.
|
![]() |
![]() |
![]() |
#20 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7027
|
Quote:
oltrettutto redcloud ha anche provato ad usarlo in insertStones, ma non è riuscito a farlo funzionare... EDIT: lo eliminerò dopo perché la sua eliminazione comporta anche qualche correzione in alcuni test che lo usano (non per testarlo però, almeno non tutti); per ora quello che ci preme è di finire quest'altro test perché tra poco devo uscire O.o' Ultima modifica di 71104 : 08-04-2006 alle 15:51. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:59.