Ја добив групата на код 2
N = 19, E = 25, R = 8
- Цикломатска комплексност = Е - N + 2 = 8
- Цикломатска комплексност = R = 8
- Цикломатска комплексност = P + 1 = 7 + 1 = 8
Патеката 1,2, 3, 18 важи само доколку во објектот user нема податоци.
Патеката 1,2, 4, 5, 18 важи само доколку во објектот user има податоци, но самите тие податоци немаат вредности.
Патеката 1,2, 4, 6, 7, 18 важи само доколку во објектот user има податоци, од кои само податокот username има вредност.
За други тест случаи, различни од наведените, т.е со валидни вредности за вредностите на user, ќе се извршат останатите две патеки:
- 1,2, 4, 6, 8, 9.1, (9.2, 10, 11, 12, 13, 14, 9.3), 15, 16, 18
- 1,2, 4, 6, 8, 9.1, (9.2, 10, 11, 12, 13, 14, 9.3), 15, 17, 18
Јазелот 1,2 ќе се изврши за кој било тест случај. Доколку за тој јазел е точно (user == null), тогаш ќе се изврши јазелот 3 (Runtime Exception) и програмата ќе терминира (јазел 18).
Доколку за јазелот 2 не е точно, односно за објектот user има некакви податоци, тогаш ќе се премине на јазелот 4. Сега, ако за јазелот 4 е точно (username == null или листата на корисници веќе го содржи внесениот корисник) ќе биде фрлен Runtime Exception (јазел 5) и програмата ќе терминира (јазел 18).
Но, ако има некаква вредност за променливата username != null, тогаш ќе се премине на јазел 6, каде што се проверува емаилот. Доколку нема вредност за email, се враќа false (јазел 7) и програмата ќе терминира (јазел 18)
- user == null - програмата ќе фрли runtime exception бидејќи за објектот user нема параметри со вредности
- user = (null, null, null) - сега бидејќи објектот има параметри, ќе проверува дали username и/или email се null; бидејќи username == null, програмата ќе фрли runtime exception
- user = ("Bojan", null, null) - во овој случај username != null, ќе се провери дали се наоѓа во листата на веќе запипани users, и доколку тоа е точно, повторно се фрла runtime exception, a инаку ќе се проверува email; бидејќи email == null, програмата ќе врати false
- user = ("Bojan", null, "bobo@boz") - и во овој случај username != null, ќе се провери дали се наоѓа во листата на веќе запипани users, и доколку тоа е точно, повторно се фрла runtime exception, a инаку ќе се проверува email; сега бидејќи email != null, ќе се проверува дали содржи "@" или "."; бидејќи содржи "@" програмата ќе врати true
- user = ("Bojan", null, "boboboz@b.oz") - истата постапка како и за 4. важи тука; сега емаилот содржи и "@" и ".", па програмата ќе врати true
- доколку емаилот во 4. и во 5. не содржеше "@" и/или ".", програмата ќе врати false