public void MumbleLinkStateChanged() { MumbleLinkManager manager = new MumbleLinkManager(); manager.TimeoutRate = 0.1; MumbleLinkState?actualState = null; string actualName = null; string expectedName = "Super Adventure Wars FTW"; manager.MumbleLinkStateChanged += (s, e) => { actualState = e.State; actualName = e.Name; }; IMumbleLinkConnector connector = Substitute.For <IMumbleLinkConnector>(); LinkedMem linkedMem = new LinkedMem() { uiTick = 1 }; unsafe { PointerUtils.CopyArrayToPointer(expectedName.ToCharArray(), linkedMem.name); } connector.ReadMemoryMappedFile().Returns(linkedMem); manager.UseMumbleLinkConnector(connector); manager.Check(); Assert.IsTrue(manager.IsActive, "Active"); Assert.AreEqual(expectedName, actualName, "Name"); actualState = null; actualName = null; Thread.Sleep((int)(manager.TimeoutRate * 1000)); manager.Check(); Assert.IsFalse(manager.IsActive, "Not active after"); }
public void IsActive() { MumbleLinkManager manager = new MumbleLinkManager(); IMumbleLinkConnector connector = Substitute.For <IMumbleLinkConnector>(); LinkedMem linkedMem = new LinkedMem() { uiTick = 1 }; connector.ReadMemoryMappedFile().Returns(linkedMem); manager.UseMumbleLinkConnector(connector); Assert.IsFalse(manager.IsActive, "Not active before"); manager.Check(); Assert.IsTrue(manager.IsActive, "Active after"); }
public void UpdateMumbleLinkFile() { MumbleLinkManager manager = new MumbleLinkManager(); IMumbleLinkConnector connector = Substitute.For <IMumbleLinkConnector>(); IMumbleLinkFile file = Substitute.For <IMumbleLinkFile>(); LinkedMem linkedMem = new LinkedMem() { uiTick = 1 }; connector.ReadMemoryMappedFile().Returns(linkedMem); manager.UseMumbleLinkConnector(connector); manager.UseMumbleLinkFile(file); manager.Check(); file.Received(1).SetDataFromLinkedMem(linkedMem); }
public void UseMumbleLinkConnector(IMumbleLinkConnector mumbleLinkConnector) { this.MumbleLinkConnector = mumbleLinkConnector; }