예제 #1
0
 public TextAssetDataProcessor(
     IOptions <AssetsOptions> options,
     IStringEncoder stringEncoder,
     IVarsManager varsManager)
 {
     this.options       = options.Value ?? AssetsOptions.Default;
     this.stringEncoder = stringEncoder;
     this.varsManager   = varsManager;
 }
            public TestCaseContext()
            {
                Options                 = AssetsOptions.Default;
                Var1                    = new IntVar("var1", "var1-name", 15);
                Var2                    = new StringVar("var2", "var2-name", "hello");
                NotFoundVarKey          = "var3";
                Data                    = new byte[] { 0x01, 0x02, 0x03 };
                StringData              = "1 {var=var1} 22 {var=var3} 333 {var=var2} 4444";
                ExpectedProcessedString =
                    $"1 <span class=\"{Options.VarValueSpanClass}\">{Var1.DisplayString}</span> " +
                    $"22 <span class=\"{Options.VarValueSpanClass}\">VAR NOT FOUND var3</span> " +
                    $"333 <span class=\"{Options.VarValueSpanClass}\">{Var2.DisplayString}</span> " +
                    $"4444";
                ProcessedData = new byte[] { 0x04, 0x05, 0x06 };

                OptionsService = Mock.Of <IOptions <AssetsOptions> >();
                StringEncoder  = Mock.Of <IStringEncoder>();
                VarsManager    = Mock.Of <IVarsManager>();

                Mock.Get(StringEncoder).Setup(
                    m => m.EncodeToString(Data))
                .Returns(StringData);

                Mock.Get(StringEncoder).Setup(
                    m => m.EncodeFromString(ExpectedProcessedString))
                .Returns(ProcessedData);

                Mock.Get(VarsManager).Setup(
                    m => m.GetVar(Var1.Key))
                .Returns(Var1);

                Mock.Get(VarsManager).Setup(
                    m => m.GetVar(Var2.Key))
                .Returns(Var2);

                Mock.Get(VarsManager).Setup(
                    m => m.GetVar(NotFoundVarKey))
                .Throws(new VarNotFoundException(NotFoundVarKey));
            }