Projekat

Općenito

Profil

Akcije

Podrška #25721

Zatvoren

TDD sifk/sifv

Dodano od Ernad Husremović prije oko 13 godina. Izmjenjeno prije oko 13 godina.

Status:
Zatvoreno
Prioritet:
Normalan
Odgovorna osoba:
Početak:
16.12.2011
Završetak:
% završeno:

100%

Procjena vremena:

Povezani tiketi 2 (0 otvoreno2 zatvorenih)

korelira sa F18 - Podrška #25372: šifrarnici i semafori, sifk/sifvZatvorenoErnad Husremović23.11.2011

Akcije
korelira sa F18 - Podrška #25872: Modul LD, korekcija semafora i scatter() gather() funkcija, identifikacija rizičnih dijelovaZatvorenoSaša Vranić23.12.2011

Akcije
Akcije #1

Izmjenjeno od Ernad Husremović prije oko 13 godina

postojeće stanje

postojeće stanje

Akcije #2

Izmjenjeno od Ernad Husremović prije oko 13 godina

dbcreate funkcije sifk, sifv, u njima se nalaze use case-ovi

dbcreate2 sifk

Akcije #3

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

Akcije #4

Izmjenjeno od Ernad Husremović prije oko 13 godina

  • Odgovorna osoba promijenjeno iz Ernad Husremović u Saša Vranić

izmjene u kodu

poređenje nije "=" , nego treba da bude "=="

Akcije #5

Izmjenjeno od Ernad Husremović prije oko 13 godina

funkcija USifk

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:

npr update_sifv_1_relation

Akcije #6

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.

Akcije #7

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

Akcije #8

Izmjenjeno od Ernad Husremović prije oko 13 godina

nije do kraja odrađeno u smislu TDD procedura ali je glavni dio ok

Akcije #9

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
Akcije #10

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 )

Akcije #11

Izmjenjeno od Ernad Husremović prije oko 13 godina

Podešavanje aDBFs, fields, where_block, index tag

http://redmine.bring.out.ba/issues/25872#note-25

Akcije

Također dostupno kao Atom PDF