コード例 #1
0
ファイル: Generic.cs プロジェクト: Hedzer/Urchin
        public virtual void Decode()
        {
            BitArray original = GetWord();
            BitArray encoded  = instance.Encode(original);
            BitArray decoded  = instance.Decode(encoded);

            Assert.AreEqual(original.Length, decoded.Length);
            CollectionAssert.AreEqual(original, decoded);
            Assert.AreNotEqual(encoded, decoded);
        }
コード例 #2
0
 private void ShowEncoded(WordCounterPair[] pairs)
 {
     _userView.Show(Environment.NewLine);
     foreach (WordCounterPair wordCounterPair in pairs)
     {
         _userView.Show(_wordEncoder.Encode(wordCounterPair.Word));
     }
 }
コード例 #3
0
ファイル: Generic.cs プロジェクト: Hedzer/Urchin
        public virtual void LastWordEncode()
        {
            BitArray     original = GetWord(8);
            IWordEncoder encoder  = GetNewInstance();
            BitArray     encoded  = encoder.Encode(original);

            Assert.AreEqual(original.Length, encoded.Length);
            CollectionAssert.AreNotEqual(encoded, original);
        }
コード例 #4
0
ファイル: BlockEncoder.cs プロジェクト: Hedzer/Urchin
        public byte[] EncodeBlock(EncodingPlan plan, byte[] block)
        {
            byte[]          result    = new byte[block.Length];
            List <BitArray> words     = new BitArray(block).ToWords(plan.WordSize);
            int             wordCount = words.Count;

            for (int i = 0; i < wordCount; i++)
            {
                IWordEncoder encoder = plan.Transformations[i];
                BitArray     encoded = encoder.Encode(words[i]);
                words[i] = encoded;
            }
            words.ToBitArray().CopyTo(result, 0);
            return(result);
        }
コード例 #5
0
ファイル: EncoderProxy.cs プロジェクト: Hedzer/Urchin
 public BitArray Encode(BitArray word)
 {
     return(encoder.Encode(word));
 }