package rooms import ( "testing" ) type releaseHandTest struct { room, expected Room releasingParticipantId PersonId } var releaseHandTests = []releaseHandTest{ singleHandActive, } func TestRoomReleaseHand(t *testing.T) { for _, test := range releaseHandTests { test.room.InitMaps() test.expected.InitMaps() if test.room.ReleaseHand(test.releasingParticipantId); !test.room.Equal(&test.expected) { t.Errorf("Output \n%+v \nnot equal to expected \n%+v", test.room, test.expected) } } } var p1Id = PersonId(1) var p2Id = PersonId(2) var singleHandActive releaseHandTest = releaseHandTest{ room : Room{ Name: "test", CurrentSpeaker: p1Id, Paricipants: []Person{ { Id : p1Id, Name: "p1", }, { Id : PersonId(2), Name: "p2", }, }, ParticipantHands: map[PersonId]HandGesture{ p1Id: Expand, }, }, releasingParticipantId: p1Id, expected: Room{ Name: "test", CurrentSpeaker: PersonId(0), Paricipants: []Person{ { Id : p1Id, Name: "p1", }, { Id : PersonId(2), Name: "p2", }, }, ParticipantHands: map[PersonId]HandGesture{ }, }, }