Commit 1d87fb1c authored by Bernardo Quaresma Dias's avatar Bernardo Quaresma Dias
Browse files

Inclusão de template de classes de testes

INSTMPA-1299
parent 9b46cb5a
include 'lib-access-1_0.mpam'
class{ id = "classe_template", name = "Classe Template", group = "TST-TEMPL: Testes",
bases = { },
description = [[
Modelagem de classe template par exemplificação de chamadas em um diagrama de testes.
Em um projeto real, a classe testada deve ser definida em um arquivo independente.
Além disso, essa classe deve ser removida em uma modelagem da classe de testes de uma instância.
]],
attributes = {
{ id = "atributo_ponto_real", name = "Atributo Ponto Real", type = "REAL_POINT", access = "gsrw",
description = [[Atributo de tipo ponto real.]],
},
{ id = "atributo_ponto_real_opt", name = "Atributo Ponto Real Opcional", type = "REAL_POINT", access = "gsrw",
description = [[Atributo de tipo ponto real opcional.]],
},
{ id = "atributo_real", name = "Valor B", type = "REAL", access = "gs",
description = [[Valor de atributo B.]],
},
},
methods = {
{ id = "method_alpha", name = "Método Alpha",
description = [[Método Alpha.]],
parameters = {
{ name = "Parâmetro 1", type = "REAL"},
{ name = "Parâmetro 2", type = "REAL"},
{ name = "Parâmetro 3", type = "REAL"},
},
results = {
{ name = "Resultado", type = "REAL"},
},
code = [===[ function(self, param_1, param_2, param_3)
local ret = param_1 + param_2 - param_3
return ret
end ]===],
},
{ id = "method_beta", name = "Método Beta",
description = [[Método Beta.]],
parameters = {
{ name = "Parâmetro 1", type = "BOOLEAN"},
},
results = {
{ name = "Resultado", type = "BOOLEAN"},
},
code = [===[ function(self, param_1)
local ret = not param_1
return ret
end ]===],
}
},
}
class{ id = "tst_classe_template", name = "Teste de Classe Template", group = "TST-TEMPL: Testes",
bases = { 'api_tst_class' },
description = [[Testes de Classe Template.]],
code = [===[
]===],
attributes = {
{ id = "instancia_teste", name = "Instância de Teste", type = "classe_template", access = "g",
description = [[
Instância que será usada nos testes.
Substitua o valor de 'type' pelo tipo da classe testada.
]],
},
},
methods = {
{ id = "init_tst", name = "Testes: Inicializar",
description = [[Inicializa instância de template para caso de teste.]],
parameters = {
{ name = "Valor Ponto Real", type = "REAL"},
{ name = "Valor Ponto Real Opcional", type = "REAL"},
{ name = "Valor Real", type = "REAL"},
},
results = {
},
code = [===[ function(self, val_pt_real, val_pt_real_opt, val_real)
local inst = getattribute(self, 'instancia_teste')
local pt_real = getattribute(inst, 'atributo_ponto_real')
local pt_real_opt = inst.atributo_ponto_real_opt
if val_pt_real then
pt_real:write(val_pt_real)
end
if val_pt_real_opt then
pt_real_opt:write(val_pt_real_opt)
end
if val_real then
inst.atributo_real
end
end ]===],
},
{ id = "tst_exec", name = "Testes: Executar",
description = [[Realiza Casos de teste do método Executar.]],
parameters = {
},
results = {
},
code = [===[ function(self)
local inst_tst = getattribute(self, 'instancia_teste')
test_method("alpha-p123" , 'ok' , { -1 } , inst_tst, 'method_alpha', 1, 2, 3)
test_method("alpha-p987" , 'ok' , { 10 } , inst_tst, 'method_alpha', 9, 8, 7)
test_method("beta-true" , 'ok' , { false } , inst_tst, 'method_beta', true)
test_method("beta-false" , 'ok' , { true } , inst_tst, 'method_beta', false)
end ]===],
},
},
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment