def test_setdef_getsets_brute(self): def same_cards(ca_1,ca_2,ca_3): return ca_1==ca_2 and ca_2==ca_3 def different_cards(ca_1,ca_2,ca_3): return len({ca_1,ca_2,ca_3})==3 set_object = Sets(dims=4, dim_size=3, n_cards=81) result = set_object.getsets_brute().values() setdef_flag = False for set_tuple in result: setdef_flag = all(same_cards(i, j ,k) or different_cards(i, j, k) for i, j, k in zip(set_tuple[0],set_tuple[1],set_tuple[2])) if setdef_flag == False: break self.assertTrue(setdef_flag, msg="")
def index(): form = InputForm(request.form) if request.method == 'POST' and form.validate(): if form.dims.data < 3: raise ValueError("Dimensions should be greater than 2 for a three card SET game") if form.dim_size.data < 3: raise ValueError("Dimension size should be greater than 2 for a three card SET game") s = form.dims.data * [range(form.dim_size.data)] possible_cards = len(list(itertools.product(*s))) if form.n_cards.data > possible_cards: raise ValueError("Number of cards on the deck cannot be greater than %s" %possible_cards) game_set = Sets(form.dims.data, form.dim_size.data, form.n_cards.data) if form.dim_size.data == 3: result = game_set.get_sets() else: result = game_set.getsets_brute() else: result = None return render_template('view.html', form=form, result=result)
def test_unique_getsets_brute(self): set_object = Sets(dims=4, dim_size=3, n_cards=81) result = set_object.getsets_brute() self.assertEqual(1080, unique_sets_length(result), msg="")
def test_maximum_getsets_brute(self): set_object = Sets(dims=4, dim_size=3, n_cards=81) result = len(set_object.getsets_brute()) self.assertEqual(1080, result, msg="")