예제 #1
0
class TestTree(TestCase):
    m1 = Challenger("Kakouak", "lol")
    m2 = Challenger("Kakouik", "lol")
    m3 = Challenger("Kikouak", "lol")
    m4 = Challenger("Kikouik", "lol")
    g1 = Group([], "Test adding subgroup")
    g2 = Group([m3, m4], "Test adding subgroup 1")
    g3 = Group([m1, m2], "Test adding subgroup 2")

    def test_get_root(self):
        depth = 2
        tournament_tree = Tree(self.g1, depth)
        self.assertEqual(tournament_tree.get_root().get_value(), self.g1)

    def test_get_depth(self):
        depth = 2
        tournament_tree = Tree(self.g1, depth)
        self.assertEqual(tournament_tree.get_depth(), depth)

    def test_search_node(self):
        depth = 2
        tournament_tree = Tree(self.g1, depth)
        tournament_tree.get_root().add_child(self.g2)
        tournament_tree.get_root().add_child(self.g3)
        self.assertEqual(tournament_tree.search_node(self.g2).get_value(), self.g2)
        self.assertEqual(tournament_tree.search_node(self.g3).get_value(), self.g3)
        self.assertEqual(tournament_tree.search_node(self.g1).get_value(), self.g1)
예제 #2
0
 def test_add_challenger(self):
     m1 = Challenger("Kakouak", "lol")
     m2 = Challenger("Kakouik", "lol")
     m3 = Challenger("Kikouak", "lol")
     m4 = Challenger("Kikouik", "lol")
     g = Group([m1, m2], "Test adding challengers")
     g.give_point(m1, 203)
     g.give_point(m2, 22)
     g.add_challenger(m4, 19)
     g.sort_challengers_by_points()
     self.assertSequenceEqual(g.challengers, [m1, m2, m4])
     g.add_challenger(m3, 184)
     g.sort_challengers_by_points()
     self.assertSequenceEqual(g.challengers, [m1, m3, m2, m4])
예제 #3
0
    def test_get_subgroups(self):
        m1 = Challenger("Kakouak", "lol")
        m2 = Challenger("Kakouik", "lol")
        m3 = Challenger("Kikouak", "lol")
        m4 = Challenger("Kikouik", "lol")
        g1 = Group([], "Test adding subgroup")
        g2 = Group([m3, m4], "Test adding subgroup 1")
        g3 = Group([m1, m2], "Test adding subgroup 2")

        self.assertEqual(g1.get_subgroups(), None)
        g1.add_subgroup(g2)
        self.assertSetEqual(set(g1.get_subgroups().values()), {g2})
        g1.add_subgroup(g3)
        self.assertSetEqual(set(g1.get_subgroups().values()), {g2, g3})
예제 #4
0
 def test_get_loser(self):
     m1 = Challenger("Kakouak", "lol")
     m2 = Challenger("Kakouik", "lol")
     m3 = Challenger("Kikouak", "lol")
     m4 = Challenger("Kikouik", "lol")
     g = Group([m1, m2, m3, m4], "Test getting loser")
     g.give_point(m1, 203)
     self.assertNotEqual(g.loser, m1)
     g.give_point(m2, 22)
     g.give_point(m3, 13)
     g.give_point(m4, 17)
     g.give_point(m4, 2)
     self.assertEqual(g.loser, m3)
     g.give_point(m3, 184)
     self.assertEqual(g.loser, m4)
예제 #5
0
 def test_remove_challenger(self):
     m1 = Challenger("Kakouak", "lol")
     m2 = Challenger("Kakouik", "lol")
     m3 = Challenger("Kikouak", "lol")
     m4 = Challenger("Kikouik", "lol")
     g = Group([m1, m2, m3, m4], "Test removing challengers")
     g.give_point(m1, 203)
     g.give_point(m2, 22)
     g.give_point(m3, 13)
     g.remove_challenger(m4)
     g.sort_challengers_by_points()
     self.assertSetEqual(set(g.challengers), {m1, m2, m3})
     g.remove_challenger(m3)
     g.sort_challengers_by_points()
     self.assertSetEqual(set(g.challengers), {m1, m2})
예제 #6
0
 def test_give_point(self):
     m1 = Challenger("Kakouak", "lol")
     m2 = Challenger("Kakouik", "lol")
     m3 = Challenger("Kikouak", "lol")
     m4 = Challenger("Kikouik", "lol")
     g = Group([m1, m2, m3, m4], "Test giving points")
     g.give_point(m1, 203)
     self.assertEqual(g.scores[m1], 203)
     self.assertEqual(g.scores[m2], 0)
     self.assertEqual(g.scores[m3], 0)
     self.assertEqual(g.scores[m4], 0)
     g.give_point(m2, 22)
     g.give_point(m3, 13)
     g.give_point(m4, 17)
     g.give_point(m4, 2)
     self.assertEqual(g.scores[m1], 203)
     self.assertEqual(g.scores[m2], 22)
     self.assertEqual(g.scores[m3], 13)
     self.assertEqual(g.scores[m4], 19)
예제 #7
0
 def test_get_points(self):
     m1 = Challenger("Kakouak", "lol")
     m2 = Challenger("Kakouik", "lol")
     m3 = Challenger("Kikouak", "lol")
     m4 = Challenger("Kikouik", "lol")
     g = Group([m1, m2, m3, m4], "Test getting points")
     g.give_point(m1, 203)
     self.assertEqual(g.get_points(m1), 203)
     self.assertEqual(g.get_points(m2), 0)
     self.assertEqual(g.get_points(m3), 0)
     self.assertEqual(g.get_points(m4), 0)
     g.give_point(m2, 22)
     g.give_point(m3, 13)
     g.give_point(m4, 17)
     g.give_point(m4, 2)
     self.assertEqual(g.get_points(m1), 203)
     self.assertEqual(g.get_points(m2), 22)
     self.assertEqual(g.get_points(m3), 13)
     self.assertEqual(g.get_points(m4), 19)
예제 #8
0
파일: main.py 프로젝트: dextreem/Aemulator
import flask
import json
from datetime import datetime
from flask import request

from client import Client
from challenger import Challenger

app = flask.Flask(__name__)
app.config["DEBUG"] = True

challenger = Challenger()


@app.route('/', methods=['GET'])
def get_ui():
    print("TODO: Show UI")
    return "<h1>Aemulator</h1><p>In the future you will find an web viewer at this point</p>"


@app.route('/shutdown', methods=['POST'])
def trigger_shutdown():
    print("TODO: Shutting down")


@app.route('/challenge/task', methods=['GET'])
def get_challenge_task():
    return challenger.get_challenge_data()


@app.route('/challenge/get_data', methods=['GET'])