public Builder toBuilder() { return builder().fromProductItem(this); }
public Builder toBuilder() { return builder().fromProductItem(this); }
public Builder toBuilder() { return builder().fromProductItem(this); }
@Test(expectedExceptions = NoSuchElementException.class) public void testIdMissingPrices() { ProductItem item = ProductItem.builder().build(); imageId().apply(item); }
@Test public void testCapacityMissing() { ProductItem item = ProductItem.builder().id(1).build(); assertNull(capacity().apply(item)); }
@Test public void testDescriptionMissing() { ProductItem item = ProductItem.builder().id(1).build(); assertNull(description().apply(item)); }
@Test(expectedExceptions = NoSuchElementException.class) public void testPriceMissing() { ProductItem noPriceItem = ProductItem.builder().id(1).build(); price().apply(noPriceItem); }
@Test public void testPriceMultiplePrices() { ImmutableSet<ProductItemPrice> prices = ImmutableSet.of(price, ProductItemPrice.builder().id(2).build()); ProductItem item2 = ProductItem.builder().prices(prices).build(); assertEquals(price().apply(item2),price); }
@Test public void testCategoryCodePresentTwoCategories() { ProductItemCategory osCategory = ProductItemCategory.builder().id(2).categoryCode("os").build(); ProductItem item = ProductItem.builder().categories(ImmutableSet.of(ramCategory, osCategory)).build(); assert ProductItemPredicates.categoryCode("ram").apply(item); }
@Test public void testId() { ProductItemPrice price = ProductItemPrice.builder().id(1234).build(); ProductItem item = ProductItem.builder().prices(price).build(); assertEquals("1234",imageId().apply(item)); }
@Test public void testHardwareId() { ProductItem item1 = ProductItem.builder().prices(ProductItemPrice.builder().id(123).build()).build(); ProductItem item2 = ProductItem.builder().prices(ProductItemPrice.builder().id(456).build()).build(); ProductItem item3 = ProductItem.builder().prices(ProductItemPrice.builder().id(789).build()).build(); String id = hardwareId().apply(ImmutableList.of(item1, item2, item3)); assertEquals("123,456,789", id); }
@Test public void testIdManyPrices() { ProductItemPrice price1 = ProductItemPrice.builder().id(1234).build(); ProductItemPrice price2 = ProductItemPrice.builder().id(5678).build(); ProductItem item = ProductItem.builder().prices(ImmutableSet.of(price1,price2)).build(); assertEquals("1234",imageId().apply(item)); }
@Test(expectedExceptions = NullPointerException.class) public void testNoDescription() { ProductItem item = ProductItem.builder() .prices(ProductItemPrice.builder().id(1234).build()) .build(); new ProductItemToImage().apply(item); }
@BeforeGroups(groups = { "unit" }) public void setupContext() { ramCategory = ProductItemCategory.builder().id(1).categoryCode("ram").build(); item = ProductItem.builder().id(1).description("a test item").categories(ImmutableSet.of(ramCategory)).capacity( 2.0f).units("GB").build(); emptyItem = ProductItem.builder().id(1).build(); }
@BeforeMethod public void setup() { category = ProductItemCategory.builder().id(1).categoryCode("category").build(); price = ProductItemPrice.builder().id(1).build(); item = ProductItem.builder().id(1) .capacity(2.0f) .description("an item") .prices(price) .build(); }
@Test public void testUbuntu() { ProductItem item = ProductItem.builder() .description("Ubuntu Linux 10.04 LTS Lucid Lynx - Minimal Install (64 bit)") .prices(ProductItemPrice.builder().id(1234).build()) .build(); Image i = new ProductItemToImage().apply(item); OperatingSystem os = i.getOperatingSystem(); assertNotNull(os); assertEquals(OsFamily.UBUNTU, os.getFamily()); assertEquals("10.04",os.getVersion()); assertTrue(os.is64Bit()); }
@Test public void testCompletelyUnknown() { ProductItem item = ProductItem.builder() .description("This fails to match anything!!!") .prices(ProductItemPrice.builder().id(1234).build()) .build(); Image i = new ProductItemToImage().apply(item); OperatingSystem os = i.getOperatingSystem(); assertNotNull(os); assertEquals(OsFamily.UNRECOGNIZED, os.getFamily()); assertNull(os.getVersion()); assertFalse(os.is64Bit()); }
@Test public void test64BitUnknown() { ProductItem item = ProductItem.builder() .description("This only has the bit-count (64 bit)") .prices(ProductItemPrice.builder().id(1234).build()) .build(); Image i = new ProductItemToImage().apply(item); OperatingSystem os = i.getOperatingSystem(); assertNotNull(os); assertEquals(OsFamily.UNRECOGNIZED, os.getFamily()); assertNull(os.getVersion()); assertTrue(os.is64Bit()); }
@Test public void testUbuntuNoBitCount() { ProductItem item = ProductItem.builder() .description("Ubuntu Linux 10.04 LTS Lucid Lynx - Minimal Install") .prices(ProductItemPrice.builder().id(1234).build()) .build(); Image i = new ProductItemToImage().apply(item); OperatingSystem os = i.getOperatingSystem(); assertNotNull(os); assertEquals(OsFamily.UBUNTU, os.getFamily()); assertEquals("10.04",os.getVersion()); assertFalse(os.is64Bit()); }
@Test public void testConversion() { for( String description : operatingSystems ) { ProductItem item = ProductItem.builder() .description(description) .prices(ProductItemPrice.builder().id(1234).build()) .build(); Image i = new ProductItemToImage().apply(item); OperatingSystem os = i.getOperatingSystem(); assertNotNull(os); assertNotNull(os.getFamily()); assertFalse(os.getFamily().equals(OsFamily.UNRECOGNIZED)); assertNotNull(os.getVersion()); } }