Podrška #25721
ZatvorenTDD sifk/sifv
100%
Povezani tiketi 2 (0 otvoreno — 2 zatvorenih)
Izmjenjeno od Ernad Husremović prije oko 13 godina
Izmjenjeno od Ernad Husremović prije oko 13 godina
dbcreate funkcije sifk, sifv, u njima se nalaze use case-ovi
Izmjenjeno od Ernad Husremović prije oko 13 godina
refactor 1¶
"najbitnija" funkcija je USifk zato sam uradio njen refactor
DRY¶
uočio stvari koje se ponavljaju pa sam ih izdvojio u posebnu funkciju
if/else/endif nepregledni¶
takođe razbio na funkcije
SELECT, LEN, USE, APPEND BLANK¶
ugrađene funkcije napisao velikim slovima.
Konvencija je: velika slova za ove ugrađene funkcije, mala slova + underscore za f18 funkcije
Izmjenjeno od Ernad Husremović prije oko 13 godina
- Odgovorna osoba promijenjeno iz Ernad Husremović u Saša Vranić
Izmjenjeno od Ernad Husremović prije oko 13 godina
sada ima .t. ako je uspješno izvršena, .f. ako nije
da bi se to postiglo sve njene podfunkcije takođe vraćaju stvoj status:
Izmjenjeno od Ernad Husremović prije oko 13 godina
- Odgovorna osoba promijenjeno iz Saša Vranić u Ernad Husremović
TDD¶
prijavljuje lock required ali to je dobar početak
https://github.com/knowhow/F18_knowhow/blob/f2383316b536425d4d7b/test/sifk_sifv_test.prg
test case na mnogo mjesta prijavljuje grešku, ali u tome i jeste kvaka.
u test case-u se naprave pozivi funkcija koje pokazuju kako bi trebale funkcionisati i onda se ide ka tom cilju.
Izmjenjeno od Ernad Husremović prije oko 13 godina
ernad@macan:~/github/F18_knowhow$ ./F18_test
---------------------------------------------------------------------------------------------------- Version: Harbour 3.0.0 (Rev. 16951) Compiler: GNU C 4.2.1 (64-bit) OS: Darwin 10.8.0 x86_64 Date, Time: 2011.12.16 22:00:57 Shortcut opt.: ON Switches: ==================================================================================================== R No. Line TestCall() -> Result | Expected ---------------------------------------------------------------------------------------------------- 1 HARBOUR_BASE(5) hb_ValToStr( 4 ) -> " 4" | " 4" 2 HARBOUR_BASE(6) hb_ValToStr( 4.0 / 2 ) -> " 2.00" | " 2.00" 3 HARBOUR_BASE(7) hb_ValToStr( "String" ) -> "String" | "String" 4 HARBOUR_BASE(8) hb_ValToStr( hb_SToD( "20010101" ) ) -> "2001.01.01" | "2001.01.01" 5 HARBOUR_BASE(9) hb_ValToStr( NIL ) -> "NIL" | "NIL" 6 HARBOUR_BASE(10 hb_ValToStr( .F. ) -> ".F." | ".F." 7 HARBOUR_BASE(12 hb_ValToStr( .T. ) -> ".T." | ".T." 8 MODSTRU_TEST(57 FIELDPOS("NAZ2") > 0 .AND. LEN(EVAL(FIELDBLOCK("ID"))) == 5 -> .T. | .T. 9 SIFK_SIFV_TEST( LEN(_id_sif) <= 8 .AND. LEN(_karakteristika) < 4 -> .T. | .T. 10 SIFK_SIFV_TEST( field->id + field->oznaka -> "tsifv_k ka1 " | "tsifv_k ka1 " ! 11 SIFK_SIFV_TEST( field->id + field->oznaka Result: "tsifv_k k1 " Expected: "tsifv_k " 12 SIFK_SIFV_TEST( ferase_dbf("sifk") -> .T. | .T. 13 SIFK_SIFV_TEST( _header + field->id + field->oznaka -> "NAKON FERASE: tsifv_k ka1 " | "NAKON FERASE: tsifv_k ka1 " ! 14 SIFK_SIFV_TEST( _header + field->id + field->oznaka Result: "NAKON FERASE: tsifv_k k1 " Expected: "NAKON FERASE: tsifv_k " ! 15 SIFK_SIFV_TEST( USifK(_id_sif, _karakteristika, "01", "K1VAL") Result: "E 38 DBFCDX 1022 Lock required OS:0 #:0 " Expected: .T. ! 16 SIFK_SIFV_TEST( USifK(_id_sif, _karakteristika, "01", "K2VAL") Result: "E 38 DBFCDX 1022 Lock required OS:0 #:0 " Expected: .T. 17 SIFK_SIFV_TEST( USifK(_id_sif, _karakterirstika_n, "01", "K2VAL1,K2VAL2") -> .T. | .T. 18 SIFK_SIFV_TEST( USifK(_id_sif, _karakterirstika_n, "01", "K2VAL3,K2VAL4") -> .T. | .T. ! 19 SIFK_SIFV_TEST( IzSifk(_id_sif, _karakteristika, "01") Result: "K2VAL " Expected: "" ! 20 SIFK_SIFV_TEST( IzSifk(_id_sif, _karakterirstika_n, "01") Result: " " Expected: "" ==================================================================================================== Test calls passed: 14 ( 57.14 % ) Test calls failed: 6 ( 42.86 % ) ---------- Total: 20 ( Time elapsed: 0.15 seconds ) WARNING ! Failures detected
Izmjenjeno od Ernad Husremović prije oko 13 godina
nije do kraja odrađeno u smislu TDD procedura ali je glavni dio ok
Izmjenjeno od Ernad Husremović prije oko 13 godina
hernad@macan:~/github/F18_knowhow$ rm -r -f .hbmk hernad@macan:~/github/F18_knowhow$ ./build_test.sh
Izmjenjeno od Ernad Husremović prije oko 13 godina
- Status promijenjeno iz Dodijeljeno u Zatvoreno
- % završeno promijenjeno iz 0 u 100
hernad@macan:~/github/F18_knowhow$ ./F18_test
---------------------------------------------------------------------------------------------------- Version: Harbour 3.0.0 (Rev. 16951) Compiler: GNU C 4.2.1 (64-bit) OS: Darwin 10.8.0 x86_64 Date, Time: 2011.12.21 15:13:55 Shortcut opt.: ON Switches: ==================================================================================================== R No. Line TestCall() -> Result | Expected ---------------------------------------------------------------------------------------------------- 1 HARBOUR_BASE(5) hb_ValToStr( 4 ) -> " 4" | " 4" 2 HARBOUR_BASE(6) hb_ValToStr( 4.0 / 2 ) -> " 2.00" | " 2.00" 3 HARBOUR_BASE(7) hb_ValToStr( "String" ) -> "String" | "String" 4 HARBOUR_BASE(8) hb_ValToStr( hb_SToD( "20010101" ) ) -> "2001.01.01" | "2001.01.01" 5 HARBOUR_BASE(9) hb_ValToStr( NIL ) -> "NIL" | "NIL" 6 HARBOUR_BASE(10 hb_ValToStr( .F. ) -> ".F." | ".F." 7 HARBOUR_BASE(12 hb_ValToStr( .T. ) -> ".T." | ".T." 8 MODSTRU_TEST(57 FIELDPOS("NAZ2") > 0 .AND. LEN(EVAL(FIELDBLOCK("ID"))) == 5 -> .T. | .T. 9 SIFK_SIFV_TEST( ferase_dbf("sifk") -> .T. | .T. 10 SIFK_SIFV_TEST( ferase_dbf("sifv") -> .T. | .T. 11 SIFK_SIFV_TEST( FILE(f18_ime_dbf("sifk")) -> .F. | .F. 12 SIFK_SIFV_TEST( FILE(f18_ime_dbf("sifv")) -> .F. | .F. 13 SIFK_SIFV_TEST( LEN(_id_sif) <= 8 .AND. LEN(_karakteristika) < 4 -> .T. | .T. 14 SIFK_SIFV_TEST( sifk->(reccount()) -> 0 | 0 15 SIFK_SIFV_TEST( sifv->(reccount()) -> 0 | 0 16 SIFK_SIFV_TEST( field->id + field->oznaka -> "tsifv_k ka1 " | "tsifv_k ka1 " 17 SIFK_SIFV_TEST( field->id + field->oznaka -> "tsifv_k kaN " | "tsifv_k kaN " 18 SIFK_SIFV_TEST( ferase_dbf("sifk") -> .T. | .T. 19 SIFK_SIFV_TEST( ferase_dbf("sifv") -> .T. | .T. 20 SIFK_SIFV_TEST( _header + field->id + field->oznaka + sifk->tip + sifk->veza -> "NAKON FERASE: tsifv_k ka1 C1 9" | "NAKON FERASE: tsifv_k ka1 C1 9" 21 SIFK_SIFV_TEST( _header + field->id + field->oznaka + sifk->tip + sifk->veza -> "NAKON FERASE: tsifv_k kaN CN 7" | "NAKON FERASE: tsifv_k kaN CN 7" 22 SIFK_SIFV_TEST( USifK(_id_sif, _karakteristika, "01", "K1VAL1") -> .T. | .T. 23 SIFK_SIFV_TEST( USifK(_id_sif, _karakteristika, "01", "K1VAL2") -> .T. | .T. 24 SIFK_SIFV_TEST( USifK(_id_sif, _karakteristika, "01", "K1VAL3") -> .T. | .T. 25 SIFK_SIFV_TEST( USifK(_id_sif, _karakteristika_n, "01", "K2VAL1,K2VAL3") -> .T. | .T. 26 SIFK_SIFV_TEST( USifK(_id_sif, _karakteristika_n, "01", "K2VAL4,K2VAL1,K2VAL -> .T. | .T. 27 SIFK_SIFV_TEST( IzSifk(_id_sif, _karakteristika, "01") -> "K1VAL3 " | "K1VAL3 " 28 SIFK_SIFV_TEST( IzSifk(_id_sif, _karakteristika_n, "01") -> "K2VAL1 ,K2VAL2 ,K2VAL4 | "K2VAL1 ,K2VAL2 ,K2VAL4 ==================================================================================================== Test calls passed: 28 ( 100.00 % ) Test calls failed: 0 ( 0.00 % ) ---------- Total: 28 ( Time elapsed: 0.42 seconds )