public void GetRoomsByteReturnsCorrectValue(Byte[] rooms, Byte expectedRomByte) { var messagesGenerator = new MessagesGenerator(); Byte roomsByte = messagesGenerator.GetRoomsByte(rooms); Assert.Equal(roomsByte, expectedRomByte); }
public void Rename2Variables_Confilct() { var startCode = Library.GetCode("Ex_1"); var resultCode = startCode .ForkBranches() .AddLeft(Commands.Rename("GeneralCase", "Method", "variable", "variable1")) .AddRight(Commands.Rename("GeneralCase", "Method", "tail", "variable1")) .MergeBranches( User .BeingAsked(MessagesGenerator.VariablesHaveBeenRenamedWithConflict("variable", "variable1")) .Answer("variable1") .BeingAsked(MessagesGenerator.VariablesHaveBeenRenamedWithConflict("tail", "variable1")) .Answer("tail2") .Done()) .Code; Assert.AreEqual( Utility.ApplyCommands( startCode.Code, Commands.Rename("GeneralCase", "Method", "variable", "variable1"), Commands.Rename("GeneralCase", "Method", "tail", "tail2")), resultCode); }
public void ConversionsAreReversible() { var messagesGenerator = new MessagesGenerator(); for (Int32 roomsByte = 0; roomsByte <= 255; roomsByte++) { var rooms = messagesGenerator.GetRoomsFromByte((Byte)roomsByte); Byte newRoomsByte = messagesGenerator.GetRoomsByte(rooms); Assert.Equal(roomsByte, newRoomsByte); } }
private static void Main(String[] args) { var messagesGenerator = new MessagesGenerator(); var messagesProvider = new MessagesProvider(messagesGenerator); var random = new Random(); //Just an example of how to use API, pretty bad example using (var client = new SunricherTcpClient("192.168.12.194", ApiConstants.DefaultTcpPort)) { client.MessageSent += (s, e) => { String messageStr = String.Join("-", e.Message.Select(b => Convert.ToString(b, 16).PadLeft(2, '0'))); Console.WriteLine($"Message sent: {messageStr}"); }; var cts = new CancellationTokenSource(); var ct = cts.Token; var task = Task.Run(() => { try { client.SendMessageAsync(messagesProvider.PowerOn(), ct).Wait(ct); while (true) { if (ct.IsCancellationRequested) { break; } client.SendMessageAsync(messagesProvider.SetRed((Byte)random.Next(0, 100)), ct).Wait(); client.SendMessageAsync(messagesProvider.SetGreen((Byte)random.Next(0, 100)), ct).Wait(); client.SendMessageAsync(messagesProvider.SetBlue((Byte)random.Next(0, 100)), ct).Wait(); client.SendMessageAsync(messagesProvider.SetWhite((Byte)random.Next(0, 100)), ct).Wait(); client.SendMessageAsync(messagesProvider.SetBrightness((Byte)random.Next(0, 255)), ct).Wait(); Thread.Sleep(1000); } } catch (Exception) { cts.Cancel(); throw; } }, ct); Console.ReadKey(); cts.Cancel(); task.Wait(TimeSpan.FromSeconds(10)); } }
public void RenameVariable_Confilct() { var startCode = Library.GetCode("Ex_1"); var resultCode = startCode .ForkBranches() .AddLeft(Commands.Rename("GeneralCase", "Method", "variable", "variable1")) .AddRight(Commands.Rename("GeneralCase", "Method", "variable", "variable2")) .MergeBranches( User .BeingAsked(MessagesGenerator.VariableHasBeenRenamedDifferently("variable1", "variable2")) .Answer("variable3") .Done()) .Code; Assert.AreEqual(Utility.ApplyCommand(startCode.Code, Commands.Rename("GeneralCase", "Method", "variable", "variable3")), resultCode); }