nufuturo-ufcg / LuLu

LuLu is the free macOS firewall
GNU General Public License v3.0
0 stars 0 forks source link

Adicionar Testes Unitários #6

Open sheilapaiva opened 3 months ago

sheilapaiva commented 3 months ago

No repositório do LuLu não há testes unitários. Criar testes unitários para os métodos das classes presentes nos arquivos de código-fonte que estão na pasta LuLu/App, a principio os os arquivos .h e .m, pois estes contêm as implementações em Objective-C.

Por exemplo: No arquivo AddRuleWindowController.h, testar os métodos:

/* METHODS */

//'block'/'allow' button handler
// just needed so buttons will toggle
-(IBAction)radioButtonsHandler:(id)sender;

//'browse' button handler
// open a panel for user to select file
-(IBAction)browseButtonHandler:(id)sender;

//'cancel' button handler
// returns NSModalResponseCancel
-(IBAction)cancelButtonHandler:(id)sender;

//'add' button handler
// returns NSModalResponseOK
-(IBAction)addButtonHandler:(id)sender;

No arquivo AppDelegate.h, testar os métodos:

/* METHODS */

//first launch?
// check for install time(stamp)
-(BOOL)isFirstTime;

//finish up initializations
-(void)completeInitialization:(NSDictionary*)initialPreferenes;

//set app foreground/background
// determined by the app's window count
-(void)setActivationPolicy;

//'rules' menu item handler
// alloc and show rules window
-(IBAction)showRules:(id)sender;

//'preferences' menu item handler
// alloc and show preferences window
-(IBAction)showPreferences:(id)sender;

//preferences changed
// for now, just check status bar icon setting
-(void)preferencesChanged:(NSDictionary*)preferences;

//toggle (status) bar icon
-(void)toggleIcon:(NSDictionary*)preferences;

//quit
-(IBAction)quit:(id)sender;

//uninstall
-(IBAction)uninstall:(id)sender;

Recomendações no documento: Identificando Code Smells e pontos de melhoria no código do Lulu

joaoarthurbm commented 3 months ago

Especifica, por favor, testes para quais funções e/ou módulos/operações.