public void Add_Tags_Correctly() { var tagMethod = new TagMethod(); var dbg = new DebugEngineProxyBuilder(); tagMethod.TimeTravelFacade = new TimeTravelFacadeBuilder(dbg) .WithPositions(new PositionsResult(new[] { new PositionsRecord(1, new Position(0, 0), true), new PositionsRecord(2, new Position(0, 0), false) })).Build(); var serverClientBuilder = new ServerClientBuilder(); tagMethod.ServerClient = serverClientBuilder .WithAddTag(new Position(0, 0), new[] { 1 }, "This is a note") .WithAddTag(new Position(0, 0), new[] { 1, 2 }, "This is a note") .Build(); tagMethod.Settings = new Settings { ProjectName = "test" }; var options = new AddTagOptions { Text = "This is a note", IsAllThreadsAtPosition = false }; var options2 = new AddTagOptions { Text = "This is a note", IsAllThreadsAtPosition = true }; tagMethod.AddTag(options); tagMethod.AddTag(options2); serverClientBuilder.Mock.Verify(client => client.AddTag(new Position(0, 0), new[] { 1 }, "This is a note"), Times.Once); serverClientBuilder.Mock.Verify( client => client.AddTag(new Position(0, 0), new[] { 1, 2 }, "This is a note"), Times.Once); }
public void Tag_All_Frames_At_The_Same_Position_If_All_Is_Set() { var method = new TagMethod(); var timeTravelFacade = new TimeTravelFacadeBuilder() .WithGetCurrentPosition(new Position(1, 1)) .WithPositions(new PositionsResult(new List <PositionsRecord>() { new PositionsRecord(1, new Position(1, 1), true), new PositionsRecord(2, new Position(1, 1), false) })) .Build(); var serverClientBuilder = new ServerClientBuilder(); var serverClient = serverClientBuilder .WithAddTag() .Build(); method.TimeTravelFacade = timeTravelFacade; method.ServerClient = serverClient; method.Process(new[] { "add", "-t", "title", "-b", "body", "-a" }); method.Process(new[] { "add", "--title", "title", "--all", "-b", "body" }); serverClientBuilder.Mock.Verify(client => client.AddTag(new Position(1, 1), new int[] { 1, 2 }, It.Is <Tag>(tag => tag.Body == "body" && tag.Title == "title")), Times.Exactly(2)); }
public void Add_A_Tag_To_The_Current_Frame_When_Called_With_Title_And_Body() { var method = new TagMethod(); var timeTravelFacade = new TimeTravelFacadeBuilder() .WithGetCurrentPosition(new Position(1, 1)) .WithPositions(new PositionsResult(new List <PositionsRecord>() { new PositionsRecord(1, new Position(1, 1), true) })) .Build(); var serverClientBuilder = new ServerClientBuilder(); var serverClient = serverClientBuilder .WithAddTag() .Build(); method.TimeTravelFacade = timeTravelFacade; method.ServerClient = serverClient; method.Process(new[] { "add", "-t", "title", "-b", "body" }); method.Process(new[] { "add", "--title", "title", "-b", "body" }); method.Process(new[] { "add", "-t", "title", "--body", "body" }); method.Process(new[] { "add", "--title", "title", "--body", "body" }); serverClientBuilder.Mock.Verify(client => client.AddTag(new Position(1, 1), new int[] { 1 }, It.Is <Tag>(tag => tag.Body == "body" && tag.Title == "title")), Times.Exactly(4)); }