Skip to content

4. Example Test Suite

Chesko edited this page May 16, 2016 · 2 revisions

The following is a complete example test suite. In this test, we want to verify that our quest starts, and when an objective is completed, the quest completes and shuts down correctly.

scriptname MurderMysteryQuestTests extends Lilac

Quest property MurderMysteryQuest auto

function TestSuites()
    describe("The Murder Mystery Quest", storyQuestSuite())
endFunction

function storyQuestSuite()
    it("should be able to start", questStartTest())
    it("should complete and shut down when objective is complete", questObjectiveTest())
endFunction

function beforeEach()
	if MurderMysteryQuest.IsRunning()
	    MurderMysteryQuest.Stop()
    endif
endFunction

function afterEach()
	if MurderMysteryQuest.IsRunning()
	    MurderMysteryQuest.Stop()
    endif
endFunction

function questStartTest()
    MurderMysteryQuest.Start()
    expectBool(MurderMysteryQuest.IsRunning(), to, beTruthy)
endFunction

function questObjectiveTest()
    MurderMysteryQuest.Start()
    expectBool(MurderMysteryQuest.IsRunning(), to, beTruthy)

    MurderMysteryQuest.SetObjectiveCompleted(1, true)
    expectBool(MurderMysteryQuest.IsObjectiveCompleted(1), to, beTruthy)
    expectBool(MurderMysteryQuest.IsCompleted(), to, beTruthy)
    expectBool(MurderMysteryQuest.IsRunning(), to, beFalsy)
endFunction

Clone this wiki locally