Exemple #1
0
    public void Remove_punctuation()
    {
        var plaintext = "@1, 2%, 3 Go!";
        var expected  = "123go";

        Assert.Equal(expected, CryptoSquare.NormalizedPlaintext(plaintext));
    }
Exemple #2
0
    public void Lowercase()
    {
        var plaintext = "Hello";
        var expected  = "hello";

        Assert.Equal(expected, CryptoSquare.NormalizedPlaintext(plaintext));
    }
Exemple #3
0
    public void Empty_plaintext_results_in_an_empty_ciphertext()
    {
        var plaintext = "";
        var expected  = "";

        Assert.Equal(expected, CryptoSquare.Ciphertext(plaintext));
    }
    public static string Encoded(string plaintext)
    {
        string normalized             = CryptoSquare.NormalizedPlaintext(plaintext);
        IEnumerable <string> segments = CryptoSquare.PlaintextSegments(normalized);

        StringBuilder encodedtext = new StringBuilder();

        for (int i = 0; i < segments.First().Length; i++)
        {
            foreach (string segment in segments)
            {
                if (i < segment.Length)
                {
                    encodedtext.Append(segment[i]);
                }
                else
                {
                    encodedtext.Append(' ');
                }
            }

            if (i < segments.First().Length - 1)
            {
                encodedtext.Append(' ');
            }
        }

        return(encodedtext.ToString());
    }
Exemple #5
0
    public void Number_8_character_plaintext_results_in_3_chunks_the_last_one_with_a_trailing_space()
    {
        var plaintext = "Chill out.";
        var expected  = "clu hlt io ";

        Assert.Equal(expected, CryptoSquare.Ciphertext(plaintext));
    }
Exemple #6
0
    public void Number_54_character_plaintext_results_in_7_chunks_the_last_two_with_trailing_spaces()
    {
        var plaintext = "If man was meant to stay on the ground, god would have given us roots.";
        var expected  = "imtgdvs fearwer mayoogo anouuio ntnnlvt wttddes aohghn  sseoau ";

        Assert.Equal(expected, CryptoSquare.Ciphertext(plaintext));
    }
Exemple #7
0
    public void Remove_punctuation()
    {
        var plaintext = "@1,%!";
        var expected  = "1";

        Assert.Equal(expected, CryptoSquare.Ciphertext(plaintext));
    }
Exemple #8
0
    public void Number_9_character_plaintext_results_in_3_chunks_of_3_characters()
    {
        var plaintext = "This is fun!";
        var expected  = "tsf hiu isn";

        Assert.Equal(expected, CryptoSquare.Ciphertext(plaintext));
    }
Exemple #9
0
    public void Lowercase()
    {
        var plaintext = "A";
        var expected  = "a";

        Assert.Equal(expected, CryptoSquare.Ciphertext(plaintext));
    }
Exemple #10
0
    public void Remove_spaces()
    {
        var plaintext = "  b ";
        var expected  = "b";

        Assert.Equal(expected, CryptoSquare.Ciphertext(plaintext));
    }
Exemple #11
0
    public void Remove_spaces()
    {
        var plaintext = "Hi there";
        var expected  = "hithere";

        Assert.Equal(expected, CryptoSquare.NormalizedPlaintext(plaintext));
    }
Exemple #12
0
    public void Non_empty_plaintext_results_in_the_combined_plaintext_segments()
    {
        var plaintext = "If man was meant to stay on the ground, god would have given us roots.";
        var expected  = "imtgdvsfearwermayoogoanouuiontnnlvtwttddesaohghnsseoau";

        Assert.Equal(expected, CryptoSquare.Encoded(plaintext));
    }
Exemple #13
0
    public void Empty_plaintext_results_in_an_empty_encode()
    {
        var plaintext = "";
        var expected  = "";

        Assert.Equal(expected, CryptoSquare.Encoded(plaintext));
    }
Exemple #14
0
    public void Number_54_character_plaintext_results_in_an_8x7_rectangle()
    {
        var plaintext = "If man was meant to stay on the ground, god would have given us roots.";
        var expected  = new[] { "ifmanwas", "meanttos", "tayonthe", "groundgo", "dwouldha", "vegivenu", "sroots" };

        Assert.Equal(expected, CryptoSquare.PlaintextSegments(plaintext));
    }
Exemple #15
0
    public void Number_9_character_plaintext_results_in_an_3x3_rectangle()
    {
        var plaintext = "This is fun!";
        var expected  = new[] { "thi", "sis", "fun" };

        Assert.Equal(expected, CryptoSquare.PlaintextSegments(plaintext));
    }
Exemple #16
0
    public void Number_4_character_plaintext_results_in_an_2x2_rectangle()
    {
        var plaintext = "Ab Cd";
        var expected  = new[] { "ab", "cd" };

        Assert.Equal(expected, CryptoSquare.PlaintextSegments(plaintext));
    }
Exemple #17
0
    public void Empty_plaintext_results_in_an_empty_rectangle()
    {
        var plaintext = "";

        Assert.Empty(CryptoSquare.PlaintextSegments(plaintext));
    }