Exemple #1
0
        public void Should_do_logical_or_for_masks_with_different_sizes()
        {
            var m1 = new BranchMask()
            {
                Data = "1001", Offset = 10
            };
            var m2 = new BranchMask()
            {
                Data = "00111001", Offset = 10
            };

            var result = BranchMask.Or(m1, m2);

            Assert.Equal("10111001", result.Data);
            Assert.Equal(10, result.Offset);

            m1 = new BranchMask()
            {
                Data = "11", Offset = 0
            };
            m2 = new BranchMask()
            {
                Data = "00001", Offset = 0
            };

            result = BranchMask.Or(m1, m2);

            Assert.Equal("1001", result.Data);
            Assert.Equal(1, result.Offset);
        }
Exemple #2
0
        public void Should_truncate_leading_zeros()
        {
            var m1 = new BranchMask()
            {
                Data = "0010000", Offset = 0
            };
            var m2 = new BranchMask()
            {
                Data = "0000100", Offset = 0
            };

            var result = BranchMask.Or(m1, m2);

            Assert.Equal("00101", result.Data);
            Assert.Equal(0, result.Offset);
        }
Exemple #3
0
        public void Should_shift_result_mask_when_possible()
        {
            var m1 = new BranchMask()
            {
                Data = "1100", Offset = 10
            };
            var m2 = new BranchMask()
            {
                Data = "0011", Offset = 10
            };

            var result = BranchMask.Or(m1, m2);

            Assert.Equal("1", result.Data);
            Assert.Equal(13, result.Offset);
        }
Exemple #4
0
        public void Should_do_logical_or_for_masks_with_the_same_size_and_offset()
        {
            var m1 = new BranchMask()
            {
                Data = "00111001", Offset = 10
            };
            var m2 = new BranchMask()
            {
                Data = "10010101", Offset = 10
            };

            var result = BranchMask.Or(m1, m2);

            Assert.Equal("10111101", result.Data);
            Assert.Equal(10, result.Offset);
        }
Exemple #5
0
        public void Should_do_logical_or_for_masks_with_different_sizes_and_offsets()
        {
            var m1 = new BranchMask()
            {
                Data = "00001", Offset = 6
            };
            var m2 = new BranchMask()
            {
                Data = "001010", Offset = 5
            };

            var result = BranchMask.Or(m1, m2);

            Assert.Equal("101011", result.Data);
            Assert.Equal(5, result.Offset);
        }