logo

Crowdly

Browser

Додати до Chrome

Assume you specified the following test cases based on the requirements of an Io...

✅ Перевірена відповідь на це питання доступна нижче. Наші рішення, перевірені спільнотою, допомагають краще зрозуміти матеріал.

Assume you specified the following test cases based on the requirements of an IoT (Internet of Things) system that is used for a smart home:

class TestMyIoTSystem {

    MyIoTSystem s = null;

    @BeforeEach

    void setUp() throws Exception {

        s = new MyIoTSystem("Home");

    }

    // Test: Adding a home automation item (name, quantity)

    @Test

    void test1() {

        s.add("Vacuum cleaner",2);

        assertTrue(s.has("Vacuum cleaner"));

    }

    

    // Test: Adding a home automation item, querying the quantity of the item in the system

    @Test

    void test2() {

        s.add("Irrigation system",1);

        assertEquals(1,s.getQuantity("Irrigation system"));

    }

    

    // Test: Adding a home automation item, removing an existing item

    @Test

    void test3() {

        s.add("Irrigation system",1); s.add("Vacuum cleaner",1);

        assertEquals("Removed successfully",s.remove("Vacuum cleaner"));

    }

     

    // Test: Adding a home automation item, removing a non-existing item which should throw an exception

    @Test

    void test4() {       

        s.add("Irrigation system",1);

        assertThrows(Exception.class, () -> s.remove("Vacuum cleaner"));

    }

}

The following code has been implemented to fulfill the test cases following test-driven development:

 public class MyIoTSystem {

    private final String name;

    private List<IoTComponent> list;

    

    private class IoTComponent {

        private String name;

        private int quantity;

        

        IoTComponent(String name, int quantity){

            this.name = name;

            this.quantity = quantity;

        }

        

        public String getName () {

            return name;

        }

        

        public int getQuantity() {

            return quantity;

        }

    }

    public MyIoTSystem(String string) {

        name = string;

        list = new ArrayList<>();

    }

    public void add(String name, int quantity) {

        list.add(new IoTComponent(name,quantity));

    }

    public boolean has(String string) {

        for (IoTComponent c : list){

            if (c.getName().compareTo(string) == 0) {

                return true;

            }

        }

        return false;

    }

    public String remove(String string) {

        for (IoTComponent c : list){

            if (c.getName().compareTo(string) == 0) {

                list.remove(c);

                return ("Removed successfully");

            }

        }

        return null;

    }

}

 

Which of the test cases need additional implementations to run successfully?

a) test1()

b) test2()

c) test3()

d) test4()

 

Більше питань подібних до цього

Хочете миттєвий доступ до всіх перевірених відповідей на moodle.jku.at?

Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!

Browser

Додати до Chrome