xamarin-macios/tests/monotouch-test/Foundation/UserDefaultsTest.cs

83 строки
2.1 KiB
C#
Исходник Обычный вид История

2016-05-26 16:06:52 +03:00
//
// Unit tests for NSUserDefaults
//
// Authors:
// Sebastien Pouliot <sebastien@xamarin.com>
//
// Copyright 2012 Xamarin Inc. All rights reserved.
//
using System;
#if XAMCORE_2_0
using Foundation;
using UIKit;
using ObjCRuntime;
#else
using MonoTouch.Foundation;
using MonoTouch.ObjCRuntime;
using MonoTouch.UIKit;
#endif
using NUnit.Framework;
#if XAMCORE_2_0
using RectangleF=CoreGraphics.CGRect;
using SizeF=CoreGraphics.CGSize;
using PointF=CoreGraphics.CGPoint;
#else
using nfloat=global::System.Single;
using nint=global::System.Int32;
using nuint=global::System.UInt32;
#endif
namespace MonoTouchFixtures.Foundation {
[TestFixture]
[Preserve (AllMembers = true)]
public class UserDefaultsTest {
[Test]
public void SetString ()
{
// confusing API for .NET developers since the parameters are 'value', 'key'
// http://stackoverflow.com/q/12415054/220643
NSUserDefaults defaults = NSUserDefaults.StandardUserDefaults;
defaults.RemoveObject ("spid");
Assert.Null (defaults.StringForKey ("spid"), "StringForKey-1");
defaults.SetString ("coucou", "spid");
defaults.Synchronize ();
Assert.That (defaults.StringForKey ("spid"), Is.EqualTo ("coucou"), "StringForKey-2");
}
[Test]
public void Ctor_UserName ()
{
// initWithUser:
using (var ud = new NSUserDefaults ("username")) {
Assert.That (ud.RetainCount, Is.EqualTo ((nint) 1), "RetainCount");
ud.SetString ("value", "key");
ud.Synchronize ();
}
using (var ud = new NSUserDefaults ("username", NSUserDefaultsType.UserName)) {
Assert.That (ud.RetainCount, Is.EqualTo ((nint) 1), "RetainCount");
Assert.That (ud ["key"].ToString (), Is.EqualTo ("value"), "[key]-1");
ud.RemoveObject ("key");
ud.Synchronize ();
Assert.Null (ud ["key"], "[key]-2");
}
}
[Test]
public void Ctor_SuiteName ()
{
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
Assert.Ignore ("Requires iOS7");
// initWithSuiteName:
using (var ud = new NSUserDefaults ("suitename", NSUserDefaultsType.SuiteName)) {
Assert.That (ud.RetainCount, Is.EqualTo ((nint) 1), "RetainCount");
}
}
}
}