use leetcode::add_binary::add_binary; use test_case::test_case; const A_256: &str = "10110101010001101011001011100011\ 10100111101001010011000011000100\ 11110111001001111010110000000010\ 11100100110010110111101001100010\ 10000101100010101010000111100100\ 10100110010010100110111010011001\ 11110111011101010000000110101001\ 10000101110010101101011011011000"; const B_256: &str = "11101111111010110101001000000110\ 10010101100011001110011100101111\ 10011111011100000010100111010100\ 11101111111010111010011111001011\ 00000001001010111100100000010010\ 10110001010101011100001100000010\ 11010000010010011101100000000111\ 10000100111011110110000001110100"; const EXPECTED_257: &str = "11010010100110010000001001110101\ 00011110100110010000101111111010\ 01001011010010111110101011101011\ 11101010010110111001000100010110\ 11000011010110110011010011111011\ 10101011110100000001100011001110\ 01100011110111110110110011011000\ 10000101010111010001101110100110\ 0"; #[test_case("11", "1", "100"; "carry multiple")] #[test_case("1010", "1011", "10101"; "carry single")] #[test_case(A_256, B_256, EXPECTED_257; "256 bit numbers")] fn test_add_binary(a: &str, b: &str, expected: &str) { assert_eq!(add_binary(a.to_string(), b.to_string()), expected); }