Тестирование софта - статьи


Примеры - часть 3


Для ограничения количества обобщенных состояний итерация для метода put происходит, только если размер отображения не превышает maxSize. scenario boolean put() { //objectUnderTest - модель, содержащая спецификационные методы //put и remove if(objectUnderTest.modelMap.size()<maxSize) { //b = 0 - 5 описанные выше iterate(int b=0; b<6; b++; ) { //поиск параметров, удовлетворяющих заданной ветви for(int i=0; i<10; i++) { Integer k = new Integer(i); for(int j=0; j<2; j++) { boolean v = (j==0)?false:true; if(!objectUnderTest.modelMap.containsKey(k)) { if(b==0 && v b==1 && !v) { objectUnderTest.put(k, new Boolean(v)); break; } } else { boolean existing = ((Boolean) objectUnderTest.modelMap.get(k)).booleanValue(); if(b==2 && existing && v b==3 && existing && !v b==4 && !existing && v b==5 && !existing && !v) { //вызов спецификационного метода put objectUnderTest.put(k, new Boolean(v)); break; } } } } } } return true; } scenario boolean remove() { iterate(int b=0; b<3; b++; ) { //поиск идентификатора, удовлетворяющего заданной ветви for(int i=0; i<10; i++) { Integer k = new Integer(i); if(b==0 && !objectUnderTest.modelMap.containsKey(k)) { objectUnderTest.remove(k); break; } if(objectUnderTest.modelMap.containsKey(k)) { boolean existing = ((Boolean) objectUnderTest.modelMap.get(k)).booleanValue(); if(b==1 && existing b==2 && ! existing) { objectUnderTest.remove(k); break; } } } } return true; }


Начало  Назад  Вперед



Книжный магазин