Exemplo n.º 1
0
        public void PrototypeDifference()
        {
            var firstProtoLes  = "result = intrinsic(\"arith.convert\", Intermediate, #(Intermediate))(X);";
            var secondProtoLes = "result = intrinsic(\"arith.convert\", Intermediate, #(From))(Y);";

            var firstProto = InstructionPattern.Parse(
                Les2LanguageService.Value.Parse(firstProtoLes).Single(),
                null);

            var secondProto = InstructionPattern.Parse(
                Les2LanguageService.Value.Parse(secondProtoLes).Single(),
                null);

            Assert.IsTrue(InstructionPatternPrototypeComparer.Instance.Equals(firstProto, firstProto));
            Assert.IsTrue(InstructionPatternPrototypeComparer.Instance.Equals(secondProto, secondProto));
            Assert.IsFalse(InstructionPatternPrototypeComparer.Instance.Equals(firstProto, secondProto));
            Assert.IsFalse(InstructionPatternPrototypeComparer.Instance.Equals(secondProto, firstProto));
        }