Skip to content

Instantly share code, notes, and snippets.

@ramsesoriginal
Last active December 14, 2017 14:54
Show Gist options
  • Save ramsesoriginal/25fe8cb9d0b716e982b079f3e8bd7e31 to your computer and use it in GitHub Desktop.
Save ramsesoriginal/25fe8cb9d0b716e982b079f3e8bd7e31 to your computer and use it in GitHub Desktop.
print(" Tests aus der Angabe")
print(" Dies ist das Haus vom Nikolaus")
print("erwartet:", False)
print("erhalten:", eulertour ([[1, 2, 3], [0, 2, 3], [0, 1, 3, 4], [0, 1, 2, 4], [2, 3]]))
print(" There and back again")
print("erwartet:", [0, 1, 0])
print("erhalten:", eulertour ([[1, 1 ], [0, 0]]))
print(" Pentagramm im Pentagon")
print("erwartet:", [0, 1, 2, 3, 4, 2, 0, 3, 1, 4, 0])
print("erhalten:", eulertour ([[1, 2, 3, 4], [0, 2, 3, 4], [0, 1, 3, 4], [0, 1, 2, 4], [0, 1, 2, 3]]))
print(" Dreieck und Blatt")
print("erwartet:", [0, 1, 3, 0])
print("erhalten:", eulertour ([[1, 3], [0, 3], [], [0, 1]]))
print(" Zwei Paerchen")
print("erwartet:", False)
print("erhalten:", eulertour ([[1, 1], [0, 0], [3, 3], [2, 2]]))
print(" Andere Beispiele")
print(" Kein Knoten")
print("erwartet:", [])
print("erhalten:", eulertour ([]))
print(" Nur Ein Knoten")
print("erwartet:", [])
print("erhalten:", eulertour ([[]]))
print(" Keine Kanten")
print("erwartet:", [])
print("erhalten:", eulertour ([[], [], []]))
print(" Ein Knoten mit sich selbst")
print("erwartet:", [0,0])
print("erhalten:", eulertour ([[0, 0]]))
print(" Faengt mit Blatt an")
print("erwartet:", [1, 2, 1])
print("erhalten:", eulertour ([[], [2, 2], [1, 1]]))
print(" Hat Blatt in der Mitte")
print("erwartet:", [0, 2, 0])
print("erhalten:", eulertour ([[2, 2], [], [0, 0]]))
print(" Hat Blaetter und mit sich selbst")
print("erwartet:", [1, 3, 1, 1])
print("erhalten:", eulertour ([[], [3, 3, 1, 1], [], [1, 1]]))
print(" Sanduhr geordnet")
print("erwartet:", [0, 1, 2, 3, 1, 4, 0])
print("erhalten:", eulertour ([[1, 4], [0, 2, 3, 4], [1,3], [2, 1], [0, 1]]))
print(" Sanduhr gemischt")
print("erwartet:", [0, 5, 2, 1, 3, 6, 4, 3, 4, 1, 0])
print("erhalten:", eulertour ([[5, 1], [0, 2, 3, 4], [1, 5], [1, 6, 4, 4], [3, 1, 6, 3], [2, 0], [4, 3]]))
print(" Sanduhr mit ungeraden Kanten")
print("erwartet:", False)
print("erhalten:", eulertour ([[4, 2], [3, 4], [0, 4, 3], [1, 4, 2], [2, 3, 0, 1]]))
print(" Doppelquadrat")
print("erwartet:", False)
print("erhalten:", eulertour ([[3, 0, 1, 3, 2], [2, 1, 3, 0], [0, 3, 1, 2], [1, 2, 3, 0], [1, 1, 3, 0]]))
print(" Blaetter plus sich selbst")
print("erwartet:", [5, 5, 5, 5, 5, 5, 5, 5, 5])
print("erhalten:", eulertour ([[], [], [], [], [], [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5], [], [], []]))
print(" Komplex")
print("erwartet:", [0, 2, 7, 9, 8, 5, 2, 3, 1, 4, 10, 6, 1, 9, 7, 10, 8, 0])
print("erhalten:", eulertour ([[2, 8], [4, 9, 3, 6], [3, 7, 0, 5], [2, 1], [1, 10], [2, 8], [1, 10], [10, 2, 9, 9], [0, 5, 9, 10], [7, 1, 8, 7], [4, 6, 7, 8]]))
print(" Komplex NichtEulersch")
print("erwartet:", False)
print("erhalten:", eulertour ([[2, 8], [4, 9, 3, 6], [3, 7, 0, 5], [2, 1], [1, 10], [2, 8], [1, 10], [10, 2, 9, 9], [0, 5, 9], [7, 1, 8, 7], [4, 6, 7]]))
print(" Dreieck mit Hoerner")
print("erwartet:", [0, 1, 3, 1, 4, 1, 2, 0])
print("erhalten:", eulertour ([[1, 2], [3, 4, 3, 4, 0, 2], [0, 1], [1, 1], [1, 1]]))
print(" Dreieck mit Hoerner auf 0")
print("erwartet:", [0, 1, 2, 0, 3, 0, 4, 0])
print("erhalten:", eulertour ([[1, 2, 3, 4, 3, 4], [0, 2], [0, 1], [0, 0], [0, 0]]))
print(" Lange")
print("erwartet:", [0] + list(map(lambda x: x+1, range(0, (20**4)-1))) + [0])
print("erhalten:", eulertour (list(map(lambda x: [(x+1) % 20**4, ((20**4 + x -1) % 20**4)], range(0, (20**4))))))
'''testStart
testCategory Tests aus der Angabe
testName Dies ist das Haus vom Nikolaus
maxtime 3
expectedResult False
call eulertour ([[1, 2, 3], [0, 2, 3], [0, 1, 3, 4], [0, 1, 2, 4], [2, 3]])
testName There and back again
maxtime 3
expectedResult [0, 1, 0]
call eulertour ([[1, 1 ], [0, 0]])
testName Pentagramm im Pentagon
maxtime 3
expectedResult [0, 1, 2, 3, 4, 2, 0, 3, 1, 4, 0]
call eulertour ([[1, 2, 3, 4], [0, 2, 3, 4], [0, 1, 3, 4], [0, 1, 2, 4], [0, 1, 2, 3]])
testName Dreieck und Blatt
maxtime 3
expectedResult [0, 1, 3, 0]
call eulertour ([[1, 3], [0, 3], [], [0, 1]])
testName Zwei Paerchen
maxtime 3
expectedResult False
call eulertour ([[1, 1], [0, 0], [3, 3], [2, 2]])
testCategory Andere Beispiele
testName Kein Knoten
maxtime 3
expectedResult []
call eulertour ([])
testName Nur Ein Knoten
maxtime 3
expectedResult []
call eulertour ([[]])
testName Keine Kanten
maxtime 3
expectedResult []
call eulertour ([[], [], []])
testName Ein Knoten mit sich selbst
maxtime 3
expectedResult [0,0]
call eulertour ([[0, 0]])
testName Faengt mit Blatt an
maxtime 3
expectedResult [1, 2, 1]
call eulertour ([[], [2, 2], [1, 1]])
testName Hat Blatt in der Mitte
maxtime 3
expectedResult [0, 2, 0]
call eulertour ([[2, 2], [], [0, 0]])
testName Hat Blaetter und mit sich selbst
maxtime 3
expectedResult [1, 3, 1, 1]
call eulertour ([[], [3, 3, 1, 1], [], [1, 1]])
testName Sanduhr geordnet
maxtime 3
expectedResult [0, 1, 2, 3, 1, 4, 0]
call eulertour ([[1, 4], [0, 2, 3, 4], [1,3], [2, 1], [0, 1]])
testName Sanduhr gemischt
maxtime 3
expectedResult [0, 5, 2, 1, 3, 6, 4, 3, 4, 1, 0]
call eulertour ([[5, 1], [0, 2, 3, 4], [1, 5], [1, 6, 4, 4], [3, 1, 6, 3], [2, 0], [4, 3]])
testName Sanduhr mit ungeraden Kanten
maxtime 3
expectedResult False
call eulertour ([[4, 2], [3, 4], [0, 4, 3], [1, 4, 2], [2, 3, 0, 1]])
testName Doppelquadrat
maxtime 3
expectedResult False
call eulertour ([[3, 0, 1, 3, 2], [2, 1, 3, 0], [0, 3, 1, 2], [1, 2, 3, 0], [1, 1, 3, 0]])
testName Blaetter plus sich selbst
maxtime 3
expectedResult [5, 5, 5, 5, 5, 5, 5, 5, 5]
call eulertour ([[], [], [], [], [], [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5], [], [], []])
testName Komplex
maxtime 3
expectedResult [0, 2, 7, 9, 8, 5, 2, 3, 1, 4, 10, 6, 1, 9, 7, 10, 8, 0]
call eulertour ([[2, 8], [4, 9, 3, 6], [3, 7, 0, 5], [2, 1], [1, 10], [2, 8], [1, 10], [10, 2, 9, 9], [0, 5, 9, 10], [7, 1, 8, 7], [4, 6, 7, 8]])
testName Komplex NichtEulersch
maxtime 3
expectedResult False
call eulertour ([[2, 8], [4, 9, 3, 6], [3, 7, 0, 5], [2, 1], [1, 10], [2, 8], [1, 10], [10, 2, 9, 9], [0, 5, 9], [7, 1, 8, 7], [4, 6, 7]])
testName Dreieck mit Hoerner
maxtime 3
expectedResult [0, 1, 3, 1, 4, 1, 2, 0]
call eulertour ([[1, 2], [3, 4, 3, 4, 0, 2], [0, 1], [1, 1], [1, 1]])
testName Dreieck mit Hoerner auf 0
maxtime 3
expectedResult [0, 1, 2, 0, 3, 0, 4, 0]
call eulertour ([[1, 2, 3, 4, 3, 4], [0, 2], [0, 1], [0, 0], [0, 0]])
testName Lange
maxtime 3
expectedResult [0] + list(map(lambda x: x+1, range(0, (20**4)-1))) + [0]
call eulertour (list(map(lambda x: [(x+1) % 20**4, ((20**4 + x -1) % 20**4)], range(0, (20**4)))))
endTest'''
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment