public void XorOperationTest7() { Numbers.Number a = new Numbers.Binary("1"); Numbers.Number b = new Numbers.Binary("1"); Operations.Operation res = new Operations.XorOperation(); string expected = "0"; Numbers.Number ans = res.Calculate(a, b); string actual = ans.ToString(); Assert.AreEqual(expected, actual); }
string BinOperation() { Console.WriteLine("\n*******************************************************************\n"); Console.WriteLine("\nEnter the input 1 value: "); inputValue1 = Console.ReadLine(); string inp = ""; if (bin) { number.AssignInputValue(inputValue1); inp = "bin"; } else if (octa) { number.AssignInputValue(inputValue1); number1 = new Binary(); number1.AssignInputValue(OctToBin(number)); number = number1; inp = "oct"; } else if (hex && HexInputValidation(inputValue1)) { number.AssignInputValue(inputValue1); number1 = new Binary(); number1.AssignInputValue(HexToBin(number)); number = number1; inp = "hex"; } else { Console.WriteLine("Enter a valid entry for your digit type."); } Console.WriteLine("Enter the Operation type to calculate the given input: Add(+)/Subtract(-)/Multiply(*)/Divide(/)/And(A)/Or(O)/Xor(X): \n"); char outputType = char.Parse(Console.ReadLine()); Console.WriteLine("\nEnter the input 2 value: "); inputValue2 = Console.ReadLine(); if (bin) { output = new Binary(); output.AssignInputValue(inputValue2); inp = "bin"; } else if (octa) { output.AssignInputValue(inputValue2); number2 = new Binary(); number2.AssignInputValue(OctToBin(output)); output = number2; inp = "oct"; } else if (hex && HexInputValidation(inputValue2)) { output.AssignInputValue(inputValue2); number2 = new Binary(); number2.AssignInputValue(HexToBin(output)); output = number2; inp = "hex"; } else { Console.WriteLine("Enter a valid entry for your digit type."); } Operations.Operation op = null; if (outputType == '+') { op = new Operations.AddOperation(); output = op.Calculate(number, output); } if (outputType == '-') { op = new Operations.SubOperation(); output = op.Calculate(number, output); } if (outputType == '*') { op = new Operations.MultiplyOperation(); output = op.Calculate(number, output); } if (outputType == '/') { op = new Operations.DivideOperation(); output = op.Calculate(number, output); } if (outputType == 'A') { op = new Operations.AndOperation(); output = op.Calculate(number, output); } if (outputType == 'O') { op = new Operations.OrOperation(); output = op.Calculate(number, output); } if (outputType == 'X') { op = new Operations.XorOperation(); output = op.Calculate(number, output); } if (inp == "hex") { output = convertToHex(output); } else if (inp == "oct") { output = convertToOct(output); } Console.WriteLine("\nDisplay output: " + output.ToString()); Console.WriteLine("\n*******************************************************************\n"); return(output.ToString()); }