public void SaveTeammate()
        {
            var body = new CreateTeammateRequest {
                FirstName = Faker.Name.First(), LastName = Faker.Name.Last(), PrimaryPosition = "SF", IsStarter = false
            };
            var subject = new CreateTeammateResponse {
                FirstName = Faker.Name.First(), LastName = Faker.Name.Last(), ID = 5000
            };

            facade.Setup(x => x.CreateTeammate(It.IsNotNull <CreateTeammateRequest>()))
            .Returns(subject)
            .Verifiable();

            // Arrange
            TeamController controller = new TeamController(facade.Object);

            // Act
            var result = controller.CreateTeammate(body);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(CreatedContentActionResult <CreateTeammateResponse>));

            var response = result as CreatedContentActionResult <CreateTeammateResponse>;

            Assert.AreEqual(subject, response._response);
            facade.Verify(x => x.CreateTeammate(It.IsNotNull <CreateTeammateRequest>()), Times.Once);
            facade.VerifyNoOtherCalls();
        }
            public bool Equals(Teammate x, CreateTeammateResponse y)
            {
                if (x == null || y == null)
                {
                    return(false);
                }

                return(y != null &&
                       x.ID == y.ID &&
                       x.FirstName == y.FirstName &&
                       x.LastName == y.LastName);
            }