def testMethod():
		outcome = lib.getFunction("simuleer_groot_aantal_potjes_Monopoly", _fileName)(10000, 1500, 1500)
		if assertlib.sameType(outcome, None):
			info = "Zorg er voor dat de functie simuleer_groot_aantal_potjes_Monopoly het verschil in het bezit van straten returnt en alleen deze waarde returnt"
		elif assertlib.between(outcome, 0, 99999999):
			info = "Als speler 1 meer straten heeft dan speler 2 is het verschil negatief"
		else:
			info = "Het verschil is niet erg groot, gemiddeld zelfs minder dan 1 straat"
		return assertlib.between(outcome, -.45, -.15), info
Exemple #2
0
	def testMethod():
		outcome = lib.getFunction("simulate_monopoly_games", _fileName)(10000, 1500, 1500)
		if assertlib.sameType(outcome, None):
			info = "Make sure that the function simulate_monopoly_games only returns the difference in the number of streets owned"
		elif assertlib.between(outcome, -99999999, 0):
			info = "Are you sure you are subtracting player 2s values from player 1 and not the other way around?"
		else:
			info = "When starting both with 1500, the difference in street ownership is not that big, it should be somewhere between .15 and .55."
		return assertlib.between(outcome, .15, .55), info
Exemple #3
0
 def testMethod():
     montecarlo = lib.getFunction("montecarlo", _fileName)
     tanCosSin = lib.documentFunction(
         lambda x: math.tan(math.cos(math.sin(x))),
         "f(x) = tan(cos(sin(x)))")
     outcome = montecarlo(tanCosSin, 0.2, 0, 2.2, 1.5)
     return assertlib.between(outcome, 1.69, 1.73)
Exemple #4
0
def correctAverageTrump(test):
    def testMethod():
        student_func = lib.getFunction("simulate_monopoly_games", _fileName)
        nArguments = len(student_func.arguments)

        # Trump
        if nArguments == 1:
            testInput = student_func(10000)
            test.success = lambda info: "The code works without starting_money, you can now proceed with starting_money!"
            if assertlib.sameType(testInput, None):
                test.fail = lambda info: "Make sure that the function simulate_monopoly_games returns the average required number of throws and nothing else"

        # starting money, 1 player
        elif nArguments == 2:
            testInput = student_func(10000, 1000000)
            if assertlib.sameType(testInput, None):
                test.fail = lambda info: "Make sure that the function simulate_monopoly_games returns the average required number of throws and nothing else"

        else:
            testInput = False
            test.fail = lambda info: "Make sure that the function simulate_monopoly_games with Trumpmode uses 1 argument and with starting_money 2 arguments"

        return testInput

    test.test = lambda: assertlib.between(testMethod(), 145, 149)
    test.description = lambda: "Monopoly works for Trumpmode"
    test.timeout = lambda: 60
Exemple #5
0
 def testMethod():
     reproduce = lib.getFunction("reproduce", _fileName)
     viruses = ["GGGG", "AAAA", "TTTT", "GGGG", "ATGC"] * 20
     n = 1000
     avgPopSize = sum(
         len(reproduce(viruses[:], 0.25, 0.50)) for _ in range(n)) / n
     return asserts.between(avgPopSize, 145, 155)
Exemple #6
0
def correctAverageTrump(test):
    def try_run():

        fail_type = ""
        pos = {type(None): "niks, zorg dat deze het gemiddeld aan benodigde worpen returnt",\
           str: "een woord of zin, zorg dat de functie een getal returnt", \
          tuple: "meerdere waarden, zorg dat deze alleen het gemiddeld aan benodigde worpen returnt"}

        try:
            testInput = lib.getFunction(
                "simuleer_groot_aantal_potjes_Monopoly", _fileName)()
            type_output = type(testInput)

            if type_output != int:
                fail_type = pos[type_output]
                test.fail = lambda info: "De functie simuleer_groot_aantal_potjes_Monopoly returnt nu %s" % (
                    fail_type)

        except:
            testInput = lib.getFunction(
                "simuleer_groot_aantal_potjes_Monopoly", _fileName)(1000000)
            type_output = type(testInput)

            if type_output != int:
                fail_type = pos[type_output]
                test.fail = lambda info: "De functie simuleer_groot_aantal_potjes_Monopoly returnt nu %s" % (
                    fail_type)

        return testInput if type(testInput) == int else 0

    test.fail = lambda info: "de correcte waarde is ongeveer 147"
    test.test = lambda: assertlib.between(try_run(), 145, 149)
    test.description = lambda: "Monopoly werkt in Trump-Mode"
    test.timeout = lambda: 60
Exemple #7
0
def correctAverageStartingMoney(test):
    def testMethod():
        nArguments = len(
            lib.getFunction("simulate_monopoly_games", _fileName).arguments)

        if nArguments == 2:
            testInput = lib.getFunction("simulate_monopoly_games",
                                        _fileName)(10000, 1500)
            if assertlib.sameType(
                    lib.getFunction("simulate_monopoly_games",
                                    _fileName)(10000, 1500), None):
                test.fail = lambda info: "Make sure that the function simulate_monopoly_games returns the average required number of throws and nothing else"
            return testInput
        elif nArguments == 3:
            testInput = lib.getFunction("simulate_monopoly_games",
                                        _fileName)(10000, 1500, 0)
            if assertlib.sameType(
                    lib.getFunction("simulate_monopoly_games",
                                    _fileName)(10000, 1500, 0), None):
                test.fail = lambda info: "Make sure that the function simulate_monopoly_games returns the average required number of throws and nothing else"
            return testInput
        else:
            return 0

    test.test = lambda: assertlib.between(testMethod(), 184, 189)
    test.description = lambda: "Monopoly works with 1500 euro starting_money"
    test.timeout = lambda: 60
def correctAverageTrump(test):

	def try_run():
		try:
			testInput = lib.getFunction("simuleer_groot_aantal_potjes_Monopoly", _fileName)()
			test.fail = lambda info : "Zorg dat de functie simuleer_groot_aantal_potjes_Monopoly als argument het aantal potjes heeft"
			return False
		except:
			try:	
				testInput = lib.getFunction("simuleer_groot_aantal_potjes_Monopoly", _fileName)(10000)
				test.success = lambda info : "De code werkt zonder startgeld, je kunt nu startgeld invoeren!"
				if assertlib.sameType(lib.getFunction("simuleer_groot_aantal_potjes_Monopoly", _fileName)(10000), None):
					test.fail = lambda info : "Zorg er voor dat de functie simuleer_groot_aantal_potjes_Monopoly het gemiddeld aan benodigde worpen returnt en ook alleen deze waarde returnt"
				return testInput
			except:
				testInput = lib.getFunction("simuleer_groot_aantal_potjes_Monopoly", _fileName)(10000, 1000000)
				if assertlib.sameType(lib.getFunction("simuleer_groot_aantal_potjes_Monopoly", _fileName)(10000, 1000000), None):
					test.fail = lambda info : "Zorg er voor dat de functie simuleer_groot_aantal_potjes_Monopoly het gemiddeld aan benodigde worpen returnt en ook alleen deze waarde returnt"
				return testInput


	test.fail = lambda info : "de correcte waarde is ongeveer 147"
	test.test = lambda : assertlib.between(try_run(), 145, 149)
	test.description = lambda : "Monopoly werkt in Trump-Mode"
	test.timeout = lambda : 60
Exemple #9
0
 def testMethod():
     simulate = lib.getFunction("simulate", _fileName)
     viruses = ["GGGG", "AAAA", "TTTT", "GGGG", "ATGC"] * 20
     n = 100
     timesteps = 1000
     avg = sum(
         sum(simulate(viruses[:], 0.25, 0.1, 0.5, 100, timesteps)) /
         timesteps for i in range(n)) / n
     return asserts.between(avg, 40, 45)
Exemple #10
0
 def testMethod2():
     _fn = lib.getFunction("simulate_apple2", _fileName)
     try:
         _t = apply_function(_fn, (0.01, ), (float, ))
     except InvalidFunctionApplication as e:
         return False, e.message
     if assertlib.between(_t, 2.82, 2.86):
         return True, ""
     return False, f"Did not expect output {_t} (with input: 0.01)"
Exemple #11
0
    def testMethod():
        outcome = lib.getFunction("simuleer_groot_aantal_potjes_Monopoly",
                                  _fileName)(1500, 1500)

        type_output = type(outcome)
        fail_type = ""
        pos = {type(None): "niks, zorg dat deze het gemiddeld aan benodigde worpen returnt",\
           str: "een woord of zin, zorg dat de functie een getal returnt", \
          tuple: "meerdere waarden, zorg dat deze alleen het gemiddeld aan benodigde worpen returnt"}

        if type_output != int:
            fail_type = pos[type_output]
            info = "De functie simuleer_groot_aantal_potjes_Monopoly returnt nu %s" % (
                fail_type)
        elif assertlib.between(outcome, -99999999, 0):
            info = "Als speler 1 meer straten heeft dan speler 2 is het verschil positief"
        else:
            info = "Het verschil is niet erg groot, gemiddeld zelfs minder dan 1 straat"
        return assertlib.between(outcome, .15, 0.45), info
def correctAverageStartgeld(test):
    def try_run():
        try:
            return lib.getFunction("simuleer_groot_aantal_potjes_Monopoly",
                                   _fileName)(1500)
        except:
            return False

    test.fail = lambda info: "de correcte waarde is ongeveer 187"
    test.test = lambda: assertlib.between(try_run(), 184, 189)
    test.description = lambda: "Monopoly werkt met 1500 euro startgeld"
    test.timeout = lambda: 60
Exemple #13
0
def correctAverageStartingMoney(test):
    def testMethod():
        student_func = lib.getFunction("simulate_monopoly_games", _fileName)
        nArguments = len(student_func.arguments)

        if nArguments == 2:
            testInput = student_func(10000, 1500)
            if assertlib.sameType(testInput, None):
                test.fail = lambda info: "Make sure that the function simulate_monopoly_games returns the average required number of throws and nothing else"
            return testInput
        else:
            test.fail = lambda info: "Did you implement starting money yet? If not, ignore this frowny."
            return 0

    test.test = lambda: assertlib.between(testMethod(), 184, 189)
    test.description = lambda: "Monopoly works with 1500 euro starting_money"
    test.timeout = lambda: 60
Exemple #14
0
def correctAverageStartgeld(test):
    def testMethod():
        nArguments = len(
            lib.getFunction("simuleer_groot_aantal_potjes_monopoly",
                            _fileName).arguments)

        if nArguments == 2:
            testInput = lib.getFunction(
                "simuleer_groot_aantal_potjes_monopoly", _fileName)(10000,
                                                                    1500)
            if assertlib.sameType(
                    lib.getFunction("simuleer_groot_aantal_potjes_monopoly",
                                    _fileName)(10000, 1500), None):
                test.fail = lambda info: "Zorg er voor dat de functie simuleer_groot_aantal_potjes_monopoly het gemiddeld aan benodigde worpen returnt en ook alleen deze waarde returnt"
            return testInput
        else:
            return 0

    test.test = lambda: assertlib.between(testMethod(), 184, 189)
    test.description = lambda: "Monopoly werkt met 1500 euro startgeld"
    test.timeout = lambda: 60
Exemple #15
0
def correctAverageTrump(test):
    def testMethod():
        nArguments = len(
            lib.getFunction("simuleer_groot_aantal_potjes_monopoly",
                            _fileName).arguments)

        # Trump
        if nArguments == 1:
            testInput = lib.getFunction(
                "simuleer_groot_aantal_potjes_monopoly", _fileName)(1000)
            test.success = lambda info: "De code werkt zonder startgeld, je kunt nu startgeld invoeren!"
            if assertlib.sameType(
                    lib.getFunction("simuleer_groot_aantal_potjes_monopoly",
                                    _fileName)(10000), None):
                test.fail = lambda info: "Zorg er voor dat de functie simuleer_groot_aantal_potjes_monopoly het gemiddeld aan benodigde worpen returnt en ook alleen deze waarde returnt"

        # Stargeld, 1 speler
        elif nArguments == 2:
            twoArguments = True
            testInput = lib.getFunction(
                "simuleer_groot_aantal_potjes_monopoly", _fileName)(1000,
                                                                    1000000)
            if assertlib.sameType(
                    lib.getFunction("simuleer_groot_aantal_potjes_monopoly",
                                    _fileName)(10000, 1000000), None):
                test.fail = lambda info: "Zorg er voor dat de functie simuleer_groot_aantal_potjes_monopoly het gemiddeld aan benodigde worpen returnt en ook alleen deze waarde returnt"

        else:
            testInput = False
            test.fail = lambda info: "Zorg er voor dat de functie simuleer_groot_aantal_potjes_monopoly bij Trumpmode 1 argument heeft en bij starggeld 2 argumenten"

        return testInput

    test.test = lambda: assertlib.between(testMethod(), 145, 149)
    test.test = lambda: testMethod()
    test.description = lambda: "Monopoly werkt voor Trumpmode"
    test.timeout = lambda: 120
Exemple #16
0
def correctFunc2(test):
    test.test = lambda: assertlib.between(
        lib.getFunction("montecarlo", _fileName)(lambda x: math.tan(
            math.cos(math.sin(x))), 0.2, 0, 2.2, 1.5), 1.69, 1.73)
    test.description = lambda: "montecarlo werkt correct wanneer het beginpunt niet gelijk is aan 0"
    test.timeout = lambda: 90
Exemple #17
0
def correctFunc1(test):
    test.test = lambda: assertlib.between(
        lib.getFunction("montecarlo", _fileName)
        (lambda x: x**(x + 0.5), 0, 0, 1, 1), 0.51, 0.54)
    test.description = lambda: "montecarlo werkt correct voor een simpele functie"
    test.timeout = lambda: 90
Exemple #18
0
def correctFunc3(test):
    riemann = lib.getFunction("riemann", _fileName)
    test.test = lambda: assertlib.between(riemann(1, 0, -2, -1, 1, 1000),
                                          -3.34, -3.33)
    test.description = lambda: "riemann() yields the correct value when a function goes below the x-axis"
Exemple #19
0
def correctDice(test):
    test.test = lambda: assertlib.between(
        lib.getFunction("throw_two_dice", _fileName)(), 2, 12)
    test.description = lambda: "returns a correct value for a throw with two dice"
    test.timeout = lambda: 200
Exemple #20
0
def correctFunc3(test):
    test.test = lambda: assertlib.between(
        lib.getFunction("riemann", _fileName)
        (lambda x: math.sin(x**2), 0, math.pi, 10000), 0.77, 0.78)
    test.description = lambda: "riemann werkt correct voor een functie die onder de x-as komt"
    test.timeout = lambda: 90
Exemple #21
0
 def testMethod():
     montecarlo = lib.getFunction("montecarlo", _fileName)
     sin_squared = lib.documentFunction(lambda x: math.sin(x**2),
                                        "f(x) = sin(x**2)")
     outcome = montecarlo(sin_squared, 0, -1, math.pi, 1)
     return assertlib.between(outcome, 0.75, 0.79)
Exemple #22
0
 def testMethod():
     montecarlo = lib.getFunction("montecarlo", _fileName)
     power = lib.documentFunction(lambda x: x**(x + 0.5),
                                  "f(x) = x**(x + 0.5)")
     outcome = montecarlo(power, 0, 0, 1, 1)
     return assertlib.between(outcome, 0.51, 0.54)
Exemple #23
0
def correctFunc4(test):
    riemann = lib.getFunction("riemann", _fileName)
    test.test = lambda: assertlib.between(riemann(-1, 4, 15, -2, 3, 10), 73, 74
                                          )
    test.description = lambda: "riemann() yields the correct value of an integral on [-2, 3], with n = 10, for the function -x^2 + 4x + 15"
Exemple #24
0
def correctFunc1(test):
    test.test = lambda: assertlib.between(
        lib.getFunction("twitter", _fileName)(), 0.82, 0.83)
    test.description = lambda: "twitter geeft het juiste antwoord"
    test.timeout = lambda: 90
Exemple #25
0
def correctFunc1(test):
    test.test = lambda: assertlib.between(
        lib.getFunction("riemann", _fileName)
        (lambda x: x**(x + 0.5), 0, 1, 10000), 0.52, 0.53)
    test.description = lambda: "riemann werkt correct voor een simpele functie"
    test.timeout = lambda: 90
Exemple #26
0
def correctFunc2(test):
    test.test = lambda: assertlib.between(
        lib.getFunction("riemann", _fileName)(lambda x: math.tan(
            math.cos(math.sin(x))), 0.2, 2.2, 10000), 1.70, 1.71)
    test.description = lambda: "riemann werkt correct wanneer het beginpunt niet gelijk is aan 0"
    test.timeout = lambda: 90
Exemple #27
0
def correctFunc3(test):
    test.test = lambda: assertlib.between(
        lib.getFunction("montecarlo", _fileName)
        (lambda x: math.sin(x**2), 0, -1, math.pi, 1), 0.75, 0.79)
    test.description = lambda: "montecarlo werkt correct voor een functie die onder de x-as komt"
    test.timeout = lambda: 90
Exemple #28
0
def correctDice(test):
    test.test = lambda: assertlib.between(
        lib.getFunction("worp_met_twee_dobbelstenen", _fileName)(), 2, 12)
    test.description = lambda: "returnt een correcte waarde voor een worp van twee dobbelstenen"
    test.timeout = lambda: 60
Exemple #29
0
def correctVierkant(test):
	test.test = lambda : assertlib.between(lib.getFunction("vierkant", _fileName)(), 0.51, 0.54)
	test.description = lambda : "vierkant geeft de goede afstand terug"
Exemple #30
0
 def testMethod():
     throw = lib.getFunction("throw", test.fileName)
     n = 10000
     s = sum(throw() for i in range(n))
     return asserts.between(s / n, 6.5, 7.5)