Source

BddFrame / WebAcceptanceTestContext.cs

using System;
using System.Collections.Generic;
using WatiN.Core;

namespace BddFrame
{
    public class WebAcceptanceTestContext : IDisposable
    {
        public WebAcceptanceTestContext(Browser browser)
        {
            Cupboard = new Dictionary<string, object>();
            Browser = browser;
        }

        public Browser Browser { get; private set; }
        public Dictionary<string, object> Cupboard { get; set; }

        #region IDisposable Members

        public void Dispose()
        {
            Browser.Dispose();
            ClearData();
        }

        #endregion

        public TArg GetFromCupboardAs<TArg>(string drawer)
        {
            if (!(Cupboard[drawer] is TArg)) return default(TArg);
            return (TArg) Cupboard[drawer];
        }

        public void ClearData()
        {
            if (Cupboard is IDisposable)
                (Cupboard as IDisposable).Dispose();
            Cupboard = null;
        }
    }
}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.