public async Task RefreshSetsPropertiesToBeUpdatedIfNewDataIsReceived() { // Arrange var characterMock = new Mock<ICharacter>(); // Setup difference characterMock.Setup(c => c.Rank).Returns(1); var sessionMock = new Mock<ISession>(); sessionMock.Setup(s => s.RequestCharacterAsync(It.IsAny<string>())) .ReturnsAsync(characterMock.Object); var sut = new Character(0, ValidUsername, string.Empty, 0, 0, sessionMock.Object); sut.MonitorEvents(); // Act await sut.Refresh(); // Assert sut.ShouldRaise("PropertyChanged"); }
public async Task RefreshRequestsNoDataIfCharacterIsLoadedAndForceIsFalse2() { // Arrange var characterMock = new Mock<ICharacter>(); var sessionMock = new Mock<ISession>(); sessionMock.Setup(s => s.RequestCharacterAsync(It.IsAny<string>())) .ReturnsAsync(characterMock.Object) .Verifiable(); var sut = new Character(0, ValidUsername, string.Empty, 0, 0, sessionMock.Object); // Act await sut.Refresh(); await sut.Refresh(); // Assert // Data should only be requested once, as the request was not forced sessionMock.Verify(s => s.RequestCharacterAsync(It.IsAny<string>()), Times.Once()); }
public async Task RefreshRequestsDataIfCharacterIsLoadedAndForceIsTrue2() { // Arrange var characterMock = new Mock<ICharacter>(); var sessionMock = new Mock<ISession>(); sessionMock.Setup(s => s.RequestCharacterAsync(It.IsAny<string>())) .ReturnsAsync(characterMock.Object) .Verifiable(); var sut = new Character(0, ValidUsername, string.Empty, 0, 0, sessionMock.Object); // Act await sut.Refresh(); await sut.Refresh(force: true); // Assert // Data should be requested two times, due to the second request was forced sessionMock.Verify(s => s.RequestCharacterAsync(It.IsAny<string>()), Times.Exactly(2)); }
public async Task RefreshRequestsDataIfCharacterIsLoadedAndForceIsTrue() { // Arrange var characterMock = new Mock<ICharacter>(); var sessionMock = new Mock<ISession>(); sessionMock.Setup(s => s.RequestCharacterAsync(It.IsAny<string>())) .ReturnsAsync(characterMock.Object) .Verifiable(); var savegameMock = new Mock<ISavegame>(); savegameMock.Setup(sg => sg.GetValue<int>(It.IsAny<SF>())).Returns(1); savegameMock.Setup(sg => sg.GetValue<int>(It.IsAny<int>())).Returns(1); savegameMock.Setup(sg => sg.GetValue(It.IsAny<SF>())).Returns(1); savegameMock.Setup(sg => sg.GetValue(It.IsAny<int>())).Returns(1); var characterResponseMock = new Mock<ICharacterResponse>(); characterResponseMock.Setup(c => c.Savegame).Returns(savegameMock.Object); var sut = new Character(characterResponseMock.Object, ValidUsername, sessionMock.Object, TestConstants.ValidServerUri); // Act await sut.Refresh(force: true); // Assert sessionMock.Verify(s => s.RequestCharacterAsync(It.IsAny<string>()), Times.Once()); }