/// <summary> /// Initialize the builder and Return a VisitorBuilder or null if the SDK hasn't started successfully. /// </summary> /// <param name="visitorId"></param> /// <param name="instanceType"></param> /// <returns></returns> public static VisitorBuilder NewVisitor(string visitorId, InstanceType instanceType) { if (!IsReady()) { return(null); } return(VisitorBuilder.Builder(GetInstance()._configManager, visitorId, instanceType)); }
public void BuildTest() { var configManager = new Mock <Flagship.Config.IConfigManager>(); Builder = VisitorBuilder.Builder(configManager.Object, visitorId, Enums.InstanceType.NEW_INSTANCE); var visitor = Builder.Build(); Assert.AreEqual(visitor.VisitorId, visitorId); Assert.AreEqual(true, visitor.HasConsented); Assert.IsNull(Flagship.Main.Fs.Visitor); var context = new Dictionary <string, object>() { ["key1"] = "value1", }; Builder.HasConsented(false).IsAuthenticated(false).WithContext(context); visitor = Builder.Build(); Assert.AreEqual(3, visitor.Context.Count); Assert.IsFalse(visitor.HasConsented); var context2 = new Dictionary <string, object>() { ["key1"] = true, ["key3"] = new object() }; Builder.WithContext(context2); visitor = Builder.Build(); Assert.AreEqual(3, visitor.Context.Count); var context3 = new Dictionary <string, object>() { ["key1"] = 1, }; Builder.WithContext(context3); visitor = Builder.Build(); Assert.AreEqual(3, visitor.Context.Count); Builder = VisitorBuilder.Builder(configManager.Object, visitorId, Enums.InstanceType.SINGLE_INSTANCE); visitor = Builder.Build(); Assert.AreEqual(visitor, Flagship.Main.Fs.Visitor); }