public void DetectsLackOfJailbreaks() { var env = new Ex.Env(); var inspector = new Mocks.Inspector(); inspector.Init(env, "OK", "asdf"); var d = new Mocks.JailbreakDetector(env, new[] { inspector }); Assert.False(d.IsJailbroken); Assert.Equal(0, d.Violations.Count()); }
public void DetectsJailbreaks() { var env = new Ex.Env(); var inspector = new Mocks.Inspector(); inspector.Init(env, "NOTOK", "asdf"); var d = new Mocks.JailbreakDetector(env, new[] { inspector }); Assert.True(d.IsJailbroken); Assert.Equal(1, d.Violations.Count()); Assert.Equal("MOCK_NOTOK_ID", d.Violations.First()); }
public void DoesNotReportLackOfJailbreaks() { var env = new Ex.Env(); var inspector = new Mocks.Inspector(); inspector.Init(env, "OK", "asdf"); var d = new Mocks.JailbreakDetector(env, new[] { inspector }); string reportedJailbreak = null; env.Reporter.OnJailbreakReported = (j) => { reportedJailbreak = j; }; Assert.False(d.IsJailbroken); Assert.Null(reportedJailbreak); }
public void ReportsJailbreaks() { var env = new Ex.Env(); var inspector = new Mocks.Inspector(); inspector.Init(env, "NOTOK", "asdf"); var d = new Mocks.JailbreakDetector(env, new[] { inspector }); string reportedJailbreak = null; env.Reporter.OnJailbreakReported = (j) => { reportedJailbreak = j; }; Assert.True(d.IsJailbroken); Assert.Equal("MOCK_NOTOK_ID", reportedJailbreak); }
public void IsThreadsafeToDegreeReasonablyTestable() { var env = new Ex.Env(); // Violations returns a shallow-copied list. var inspector = new Mocks.Inspector(); inspector.Init(env, "OK", "asdf"); var d = new Mocks.JailbreakDetector(env, new[] { inspector }); var v1 = d.Violations; d.Refresh(); var v2 = d.Violations; Assert.NotSame(v1, v2); // That's about as far as can be reasonably tested at the moment. }