Вопрос пользователя:
Ответ нейросети:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Shop {
private List<Product> products;
public Shop() {
this.products = new ArrayList<>();
}
public void addProduct(Product product) {
products.add(product);
}
public void removeProduct(Product product) {
products.remove(product);
}
public List<Product> getProducts() {
return products;
}
public void sortProductsByPrice() {
Collections.sort(products, (p1, p2) -> Double.compare(p1.getPrice(), p2.getPrice()));
}
public Product getMostExpensiveProduct() {
if (products.isEmpty()) {
return null;
}
return Collections.max(products, (p1, p2) -> Double.compare(p1.getPrice(), p2.getPrice()));
}
}
import org.junit.Test;
import static org.junit.Assert.*;
public class ShopTest {
@Test
public void testAddProduct() {
Shop shop = new Shop();
Product product = new Product("Apple", 1.0);
shop.addProduct(product);
assertEquals(1, shop.getProducts().size());
assertTrue(shop.getProducts().contains(product));
}
@Test
public void testRemoveProduct() {
Shop shop = new Shop();
Product product = new Product("Banana", 0.5);
shop.addProduct(product);
shop.removeProduct(product);
assertEquals(0, shop.getProducts().size());
assertFalse(shop.getProducts().contains(product));
}
@Test
public void testSortProductsByPrice() {
Shop shop = new Shop();
Product product1 = new Product("Orange", 2.0);
Product product2 = new Product("Grapes", 1.5);
Product product3 = new Product("Watermelon", 3.0);
shop.addProduct(product1);
shop.addProduct(product2);
shop.addProduct(product3);
shop.sortProductsByPrice();
assertEquals(product2, shop.getProducts().get(0));
assertEquals(product1, shop.getProducts().get(1));
assertEquals(product3, shop.getProducts().get(2));
}
@Test
public void testGetMostExpensiveProduct() {
Shop shop = new Shop();
Product product1 = new Product("Mango", 2.5);
Product product2 = new Product("Pineapple", 3.5);
Product product3 = new Product("Kiwi", 1.8);
shop.addProduct(product1);
shop.addProduct(product2);
shop.addProduct(product3);
assertEquals(product2, shop.getMostExpensiveProduct());
}
}
Напишите нам, если в вопросе есть ваши персональные данные ([email protected])
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.