private static RegisterCloset GetRegisterCloset(ClosetType type, bool isClosed) { GameObject obj = new GameObject(); obj.AddComponent <BoxCollider2D>(); obj.AddComponent <BoxCollider2D>(); var closet = obj.AddComponent <RegisterCloset>(); //always starts in machines layer obj.layer = LayerMask.NameToLayer("Machines"); closet.closetType = type; closet.Passable = false; closet.IsClosed = isClosed; return(closet); }
public void GivenClosetOfTypeAndOpenCloseState_WhenOpenOrClose_ThenHasCorrectLayerAndPassabilityStatus(ClosetType type, bool isInitiallyClosed, bool thenIsClosed, int shouldBeInLayer, bool shouldBePassable) { var closet = GetRegisterCloset(type, isInitiallyClosed); if (isInitiallyClosed == thenIsClosed) { //check right away Assert.AreEqual(closet.gameObject.layer, shouldBeInLayer); Assert.AreEqual(closet.Passable, shouldBePassable); } else { //change and check closet.IsClosed = thenIsClosed; Assert.AreEqual(closet.gameObject.layer, shouldBeInLayer); Assert.AreEqual(closet.Passable, shouldBePassable); } //collider should always be one no matter what AssertCollidersEnabled(closet, true); }