def test_stealable_and_explode(self): bomb = Product('Explosive') bomb.price = 200 bomb.weight = 30 bomb.flammability = 2.5 self.assertEqual(bomb.stealability(), 'Very stealable!') self.assertEqual(bomb.explode(), '...BABOOM!!')
def test_default_product_functions(self): """Test default product functions.""" prod = Product('Test Product') prod.weight = 25 prod.price = 34 prod.flammability = 160 self.assertEqual(prod.stealability(), 'very stealable.') self.assertEqual(prod.explode(), '...DOOOOOOM!!')
def test_nondefault_stealability_explode(self): """Test stealability and explode functions of non-default Products""" prod = Product('Test Product') prod.price = 20 prod.weight = 10 prod.flammability = 1 self.assertEqual(prod.stealability(), "Very stealable!") self.assertEqual(prod.explode(), "...boom!")
def test_steal_explode(self): prod1 = Product('Test 1') prod1.price = 50 prod1.weight = 95 prod2 = Product('Test 2') prod2.flammability = 2.4 prod2.weight = 79 self.assertEqual(prod1.stealability(), 'Kinda stealable.') self.assertEqual(prod2.explode(), '...BABOOM!!')
def generate_products(num_products=30): products = [] for _ in range(num_products): name = str(sample(ADJECTIVES, 1)) + ' ' + str(sample(NOUNS, 1)) prod = Product(name) prod.price = randint(5, 100) prod.weight = randint(5, 100) prod.flammability = uniform(0.0, 2.5) products.append(prod) return products
def generate_products(num_products=30): products = [] for x in range(num_products): name = ' '.join(sample(ADJECTIVES, 1) + sample(NOUNS, 1)) p1 = Product(name) p1.weight = randint(5, 101) p1.price = randint(5, 101) p1.flammability = uniform(0.0, 260) products.append(p1) return products
def generate_products(num_products=30) -> list: """Generates a list of 30 products""" products = [] for i in range(num_products): prod = Product(f'{ADJECTIVES[randint(0,4)]} {NOUNS[randint(0,4)]}') prod.weight = randint(5, 100) prod.price = randint(5, 100) prod.flammability = uniform(0.0, 2.5) products.append(prod) return products
def generate_products(): products = [] total_prod = random.randint(30, 100) for _ in range(total_prod): new_name = random.choice(ADJECTIVES) + ' ' + random.choice(NOUNS) new_prod = Product(new_name) new_prod.price = random.randint(5, 100) new_prod.weight = random.randint(5, 100) new_prod.flammability = random.uniform(0.0, 2.5) products.append(new_prod) return products
def generate_products(num_products=30): """function to generate new products""" products = [] for i in range(num_products): name = sample(ADJECTIVES, 1) + sample(NOUNS, 1) prod = Product(name) prod.price = randint(5, 100) prod.weight = randint(5, 100) prod.flammability = uniform(0, 2.5) products.append(prod) return products
def test_expected_s_and_e(self): """ Test a product whose attributes are changed for correct Stealability and Explode method values """ prod = Product('1 ton of Wrought Iron') prod.weight = 2000 prod.flammability = 0 self.assertEqual(prod.explode(), "...fizzle.") self.assertEqual(prod.stealability(), "Not so stealable...")
def generate_products(num_products=30): products = ['0'] * num_products for i in range(num_products): name = ADJECTIVES[randint(0, 4)] + ' ' + NOUNS[randint(0, 4)] prod = Product(name) prod.weight = randint(5, 100) prod.price = randint(5, 100) prod.flammability = randint(0, 2.5) / randint( 1, 100) #random float 0<=float<2.5 products[i] = prod return products
def generate_products(quant_prods=30): products_list = [] for x in range(0, quant_prods): t = Product(input_name=(choice(ADJECTIVES) + ' ' + choice(NOUNS))) t.price = randint(5, 100) t.weight = randint(5, 100) t.flammability = float(randint(0, 25)) / 10 products_list.append(t) return products_list
def test_default_product_price(self): """Test default product price being 10.""" prod = Product('Test Product') self.assertEqual(prod.price, 10) """Test default product weight being 20.""" self.assertEqual(prod.weight, 20) prod_2 = Product('Test Product no. 2') prod_2.flammability = 0.5 prod_2.weight = 41 prod_2.price = 26 self.assertEqual(prod.explode(), "...boom!") self.assertEqual(prod.stealability(), "Kinda stealable.")
def generate_products(num_products=30): products = [] product_names = [] for name in range(0, num_products): product_names.append( f'{random.choice(ADJECTIVES)} {random.choice(NOUNS)}') for product in product_names: x = Product(product) x.price = random.randint(5, 100) x.weight = random.randint(5, 100) x.flammability = random.uniform(0.0, 2.5) products.append(x) return products
def generate_products(num_products=30): products = [] for i in range(0, num_products): generated_name = ''.join(sample(ADJECTIVES, 1)) + \ " " + ''.join(sample(NOUNS, 1)) prod = Product(None) prod.name = generated_name prod.price = randint(5, 100) prod.weight = randint(5, 100) prod.flammability = uniform(0.0, 2.5) products.append(prod) return products
def generate_products(): products = [] ADJECTIVES = ['Awesome', 'Shiny', 'Impressive', 'Portable', 'Improved'] NOUNS = ['Anvil', 'Catapult', 'Disguise', 'Mousetrap', '???'] for i in range(30): name = random.choice(ADJECTIVES) + " " + random.choice(NOUNS) product = Product(name=name) product.price = 15 product.price = random.randint(5, 100) product.weight = random.randint(5, 100) product.flammability = random.uniform(0.0, 2.5) products.append(product) return products
def generate_products(num_products=30): products = [] for i in range(num_products): name = ADJECTIVES[random.randint(0, 4)] + ' ' \ + NOUNS[random.randint(0, 4)] price = random.randint(5, 100) weight = random.randint(5, 100) flammability = random.uniform(0.0, 2.5) globals()['testProduct' + str(i)] = Product(name) globals()['testProduct' + str(i)].price = price globals()['testProduct' + str(i)].weight = weight globals()['testProduct' + str(i)].flammability = flammability products.append(globals()['testProduct' + str(i)]) return products
def generate_products(num_prod=30): products = [] for _ in list(range(num_prod)): first = sample(ADJECTIVES, 1) last = sample(NOUNS, 1) firstlast = first.append(' '.join(last)) prod = Product(name=firstlast) prod.price = randint(5, 101) prod.weight = randint(5, 101) prod.flammability = uniform(0.0, 2.5) products.append(prod) return products
def test_explode(self): #test functionality of explode method prod = Product('Test Product') prod.flammability = 0.1 test_string = prod.explode() self.assertEqual(test_string, '...fizzle.')