#Purepose: ตรวจสอบว่าเมื่องูวิ่งชนกำแพง งูจะตายหรือไม่ ?
#Story:
#    ในฐานะที่ฉันเป็นผู้ใช้งาน
#    ฉันต้องการตรวจสอบว่างูตายหรือไม่เมื่อวิ่งชนกำแพง
#    เพื่อให้รู้ว่าเงื่อนไขการชนที่ฉันเขียนขึ้นมานั้นมันถูกต้อง

from wall_code import wall_of_dead

# The size of snake is 20x20 pixels

#Scenario 1: เมื่องูวิ่งชนกำแพงในทิศเหนือแล้วตาย
#    ให้ความละเอียดของหน้าจอเกมเท่ากับ 800x600 pixels
#    เมื่อตำแหน่งของงูเท่ากับ 100 และ 0
#    แล้วงูจะชนกำแพงทิศเหนือตาย

def test_wall_of_dead_north_snake_is_dead():
    assert wall_of_dead(100, 0, 800, 600) == True

#Scenario 2: เมื่องูวิ่งชนกำแพงในทิศใต้แล้วตาย
#    ให้ความละเอียดของหน้าจอเกมเท่ากับ 800x600 pixels
#    เมื่อตำแหน่งของงูเท่ากับ 100 และ 600
#    แล้วงูจะชนกำแพงทิศใต้ตาย

def test_wall_of_dead_south_snake_is_dead():
    assert wall_of_dead(100, 600, 800, 600) == True

#Scenario 3: เมื่องูวิ่งชนกำแพงในทิศตะวันตกแล้วตาย
#    ให้ความละเอียดของหน้าจอเกมเท่ากับ 800x600 pixels
#    เมื่อตำแหน่งของงูเท่ากับ 0 และ 500
#    แล้วงูจะชนกำแพงทิศตะวันตกตาย

def test_wall_of_dead_west_snake_is_dead():
    assert wall_of_dead(0, 500, 800, 600) == True

#Scenario 4: เมื่องูวิ่งชนกำแพงในทิศเหนือแล้วตาย
#    ให้ความละเอียดของหน้าจอเกมเท่ากับ 800x600 pixels
#    เมื่อตำแหน่งของงูเท่ากับ 800 และ 500
#    แล้วงูจะชนกำแพงทิศตะวันออกตาย

def test_wall_of_dead_east_snake_is_dead():
    assert wall_of_dead(800, 500, 800, 600) == True

#Scenario 1: เมื่องูไม่ชนกับกำแพงเลย
#    ให้ความละเอียดของหน้าจอเกมเท่ากับ 800x600 pixels
#    เมื่อตำแหน่งของงูเท่ากับ 600 กับ 300
#    แล้วงูจะไม่ชนกำแพงฝั่งใดเลย

def test_no_hit_wall_of_dead():
    assert wall_of_dead(600, 300, 800, 600) == False



